Compartilhar via


Anexar um banco de dados

Este tópico descreve como anexar um banco de dados no SQL Server 2014 usando SQL Server Management Studio ou 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

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ê anexar 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 que são definidas sempre que um banco de dados é desanexado e anexado, consulte Protegendo dados e arquivos de log em SQL Server 2008 R2 Manuais Online.

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

  1. Em SQL Server Management Studio Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados SQL Server e expanda essa instância.

  2. Clique com o botão direito do mouse em Bancos de dados e clique em Anexar.

  3. 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.

    <nenhum cabeçalho de coluna>
    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 Sucesso 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) Parado 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.

    Mensagem
    Exibe uma mensagem em branco ou um hiperlink "Arquivo não encontrado"

    Adicionar
    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 .

    Remover
    Remove o arquivo selecionado da grade Bancos de dados a serem anexados .

    Detalhes do banco de dados "<database_name>"
    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.

    Mensagem
    Exibe uma mensagem em branco ou um hiperlink “Arquivo não encontrado”.

Usando o Transact-SQL

Para anexar um banco de dados

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. 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 como 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 serão removidos em 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

se você 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 em SQL Server 2014. Para obter mais informações, confira Nível de compatibilidade de ALTER DATABASE (Transact-SQL).

Consulte Também

CREATE DATABASE (SQL Server Transact-SQL)
Desanexar um banco de dados