Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Anexa uma base de dados que é apenas um ficheiro de dados ao servidor atual.
sp_attach_single_file_db Não pode ser usado com múltiplos ficheiros de dados.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Recomendamos que use CREATE DATABASE <database_name> FOR ATTACH em vez disso. Para obter mais informações, consulte CREATE DATABASE. Não use este procedimento numa base de dados replicada.
Não anexe nem restaure bases de dados de fontes desconhecidas ou não confiáveis. Esses bancos de dados podem conter código mal-intencionado que pode executar código Transact-SQL não intencional ou causar erros modificando o esquema ou a estrutura física do banco de dados. Antes de usar um banco de dados de uma fonte desconhecida ou não confiável, execute DBCC CHECKDB no banco de dados em um servidor que não seja de produção e também examine o código, como procedimentos armazenados ou outro código definido pelo usuário, no banco de dados.
Transact-SQL convenções de sintaxe
Sintaxe
sp_attach_single_file_db
[ @dbname = ] N'dbname'
, [ @physname = ] N'physname'
[ ; ]
Arguments
[ @dbname = ] N'dbname'
O nome da base de dados a ser ligada ao servidor. @dbname é sysname, sem padrão.
[ @physname = ] N'physname'
O nome físico, incluindo o caminho, do ficheiro da base de dados. @physname é nvarchar(260), sem padrão.
Este argumento corresponde ao FILENAME parâmetro da CREATE DATABASE afirmação. Para obter mais informações, consulte CREATE DATABASE.
Observação
Quando anexa uma base de dados SQL Server 2005 (9.x) que contém ficheiros de catálogo em texto completo a uma instância de servidor mais recente do SQL Server, os ficheiros de catálogo são anexados a partir da sua localização anterior juntamente com os outros ficheiros de base de dados, tal como no SQL Server 2005 (9.x). Para mais informações, consulte Atualização Full-Text Pesquisa.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhum.
Observações
Utiliza-se sp_attach_single_file_db apenas em bases de dados que estavam previamente separadas do servidor através de uma operação explícita sp_detach_db ou em bases de dados copiadas.
sp_attach_single_file_db Funciona apenas em bases de dados que tenham um único ficheiro de log. Ao sp_attach_single_file_db anexar a base de dados ao servidor, este constrói um novo ficheiro de log. Se a base de dados for apenas de leitura, o ficheiro de registo é construído na sua localização anterior.
Observação
Um snapshot de base de dados não pode ser destacado ou anexado.
Não use este procedimento numa base de dados replicada.
Permissions
Para informações sobre como as permissões são geridas quando uma base de dados é anexada, veja CRIAR BASE de DADOS.
Examples
O exemplo seguinte desliga AdventureWorks2025 e depois anexa um ficheiro ao AdventureWorks2025 servidor atual.
USE master;
GO
EXECUTE sp_detach_db @dbname = 'AdventureWorks2022';
EXECUTE sp_attach_single_file_db
@dbname = 'AdventureWorks2022',
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf';