Anexar um banco de dados
Este tópico descreve como anexar um banco de dados no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL. Você pode usar este recurso para copiar, mover ou atualizar um banco de dados do SQL Server.
Neste tópico
Antes de começar:
Para anexar um banco de dados usando:
Acompanhamento: Após o upgrade de um banco de dados
Antes de começar
Pré-requisitos
O banco de dados primeiro deve ser desanexado. A tentativa de anexar um banco de dados que não foi desanexado retornará um erro. Para obter mais informações, veja Desanexar um banco de dados.
Quando você anexa um banco de dados, todos os arquivos de dados (arquivos MDF e LDF) devem estar disponíveis. Se algum arquivo de dados tiver um caminho diferente de quando o banco de dados foi inicialmente criado ou anexado pela última vez, você deverá especificar o caminho atual do arquivo.
Quando você anexa um banco de dados, se os arquivos MDF e LDF estiverem localizados em diretórios diferentes e um dos caminhos incluir \\?\GlobalRoot, a operação falhará.
Recomendações
Recomendamos que você mova bancos de dados usando o ALTER DATABASE
procedimento de realocação planejada, em vez de usar desanexar e anexar. Para obter mais informações, veja Mover bancos de dados de usuário.
Segurança
As permissões de acesso ao arquivo são definidas durante algumas operações de banco de dados, inclusive desanexar ou anexar um banco de dados. Para obter informações sobre permissões de arquivo definidas sempre que um banco de dados é desanexado e anexado, consulte Protegendo dados e arquivos de log nos Manuais Online do SQL Server 2008 R2.
Não é recomendável anexar ou restaurar bancos de dados de origem desconhecida ou não confiável. Esses bancos de dados podem conter um código mal-intencionado que pode executar um código Transact-SQL inesperado ou provocar erros modificando o esquema ou a estrutura física do banco de dados. Antes de usar um banco de dados de origem desconhecida ou não confiável, execute DBCC CHECKDB no banco de dados, em um servidor que não seja de produção. Além disso, examine o código, como procedimentos armazenados ou outro código definido pelo usuário, no banco de dados. Para saber mais sobre como anexar bancos de dados e informações sobre alterações que são feitas em metadados ao anexar um banco de dados, veja Anexar e desanexar bancos de dados(SQL Server).
Permissões
Requer permissão CREATE DATABASE
, CREATE ANY DATABASE
ou ALTER ANY DATABASE
.
Como usar o SQL Server Management Studio.
Para anexar um banco de dados
No Pesquisador de Objetos do SQL Server Management Studio, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda essa instância.
Clique com o botão direito do mouse em Bancos de dados e clique em Anexar.
Na caixa de diálogo Anexar Banco de Dados , para especificar o banco de dados a ser anexado, clique em Adicionar. Na caixa de diálogo Localizar Arquivos de Banco de Dados , selecione a unidade de disco onde o banco de dados reside e expanda a árvore de diretório para localizar e selecionar o arquivo .mdf do banco de dados, por exemplo:
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf
Importante
Tentar selecionar um banco de dados já anexado gera erro.
Bancos de dados a serem anexados
Exibe informações sobre os bancos de dados selecionados.<no column header>
Exibe um ícone que indica o status da operação de anexação. Os possíveis ícones são descritos em Status , abaixo).Local do Arquivo MDF
Exibe o caminho e o nome de arquivo do arquivo MDF selecionado.Database Name
Exibe o nome do banco de dados.Anexar como
Opcionalmente, especifique um nome diferente para o banco de dados anexar como.Proprietário
Fornece uma lista suspensa de possíveis proprietários de banco de dados dos quais você pode selecionar um proprietário diferente opcionalmente.Status
Exibe o status do banco de dados de acordo com a seguinte tabela.Ícone Texto de status Descrição (No icon) (Nenhum texto) A operação de anexação não foi iniciada ou pode estar pendente para esse objeto. Esse é o padrão quando a caixa de diálogo é aberta. Triângulo verde apontando para a direita Em andamento A operação de anexação foi iniciada mas não está completa. Sinal de verificação verde Êxito O objeto foi anexado com êxito. Círculo vermelho contendo uma cruz branca Erro A operação de anexação encontrou um erro e não foi concluída com êxito. Círculo que contém dois quadrantes pretos (à esquerda e à direita) e dois quadrantes brancos (em cima e em baixo) Interrompido A operação de anexação não foi completada com êxito porque o usuário interrompeu a operação. Círculo que contém uma seta curvada que aponta para o sentido anti-horário Revertida A operação de anexação teve êxito, mas foi revertida devido a um erro ao se anexar outro objeto. Message
Exibe uma mensagem em branco ou um hiperlink “Arquivo não encontrado”.Add
Encontrar os arquivos de banco de dados principais necessários. Quando o usuário selecionar um arquivo .mdf , os respectivos campos são automaticamente preenchidos com informações aplicáveis da grade Bancos de dados a serem anexados .Remove
Remove o arquivo selecionado da grade Bancos de dados a serem anexados ." <database_name> " detalhes do banco de dados
Exibe os nomes dos arquivos a serem anexados. Para verificar ou alterar o nome do caminho de um arquivo, clique no botão Procurar (...).Observação
Se um arquivo não existir, a coluna Mensagem exibirá "Não encontrado". Se um arquivo de log não for encontrado, ele existirá em outro diretório ou foi excluído. Você precisa atualizar o caminho do arquivo na grade detalhes do banco de dados para indicar o local correto ou remover o arquivo de log da grade. Se um arquivo de dados .ndf não for encontrado, você precisará atualizar seu caminho na grade a fim de indicar o local correto.
Nome do arquivo original
Exibe o nome do arquivo anexado que pertence ao banco de dados.Tipo de arquivo
Indica o tipo de arquivo, Dados ou Log.Caminho do arquivo atual
Exibe o caminho para o arquivo de banco de dados selecionado. O caminho pode ser editado manualmente.Message
Exibe uma mensagem em branco ou um hiperlink “Arquivo não encontrado”.
Usando o Transact-SQL
Para anexar um banco de dados
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
Use a instrução CREATE DATABASE com o
FOR ATTACH
fechamento.Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo anexa os arquivos do banco de dados AdventureWorks2012 e renomeia o banco de dados para
MyAdventureWorks
.CREATE DATABASE MyAdventureWorks ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') FOR ATTACH;
Observação
Se desejar, você poderá usar o procedimento armazenado sp_attach_db ou sp_attach_single_file_db . No entanto, esses procedimentos armazenados estendidos são removidos de uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Recomendamos que você use CREATE DATABASE ... FOR ATTACH em vez disso.
Acompanhamento: depois de atualizar um banco de dados do SQL Server
Depois de atualizar um banco de dados usando o método ATTACH, o banco de dados fica disponível imediatamente e é atualizado automaticamente. Se o banco de dados tiver índices de texto completo, o processo de atualização importará, redefinirá ou recriará esses índices dependendo da configuração da propriedade de servidor Opção de Atualização de Texto Completo . Se a opção de atualização for definida como Importar ou Recriar, os índices de texto completo permanecerão indisponíveis durante a atualização. Dependendo da quantidade de dados a serem indexados, a importação pode levar várias horas, e a recriação pode ser até dez vezes mais demorada. Lembre-se também de que, quando a opção de atualização estiver definida como Importar, se não houver um catálogo de texto completo disponível, os índices de texto completo associados serão recompilados.
Se o nível de compatibilidade de um banco de dados de usuário for 100 ou mais alto antes da atualização, ele permanecerá o mesmo depois da atualização. Se o nível de compatibilidade for 90 antes da atualização, no banco de dados atualizado, o nível de compatibilidade será definido como 100, que é o nível de compatibilidade mais baixo com suporte no SQL Server 2014. Para obter mais informações, veja Nível de compatibilidade de ALTER DATABASE (Transact-SQL).
Confira também
CREATE DATABASE (SQL Server Transact-SQL)
Desanexar um banco de dados