Partilhar via


Desanexar um banco de dados

Aplica-se a:SQL Server

Este artigo descreve como desanexar um banco de dados no SQL Server com o SQL Server Management Studio ou Transact-SQL. Os arquivos desanexados não são excluídos e permanecem no sistema de arquivos. Os arquivos podem ser reanexados usando CREATE DATABASE ... FOR ATTACH ou FOR ATTACH_REBUILD_LOG opção. Os arquivos também podem ser movidos para outro servidor e anexados a uma instância com a mesma versão ou mais recente.

Limitações

Para obter uma lista de limitações e restrições, consulte Desanexar e anexar banco de dados (SQL Server).

Permissões

Requer associação à função fixa de base de dados db_owner.

Usar o SQL Server Management Studio

Antes de mover um banco de dados

Se você estiver movendo um banco de dados, antes de desanexá-lo de sua instância existente do SQL Server, use a página Propriedades do Banco de Dados para revisar os arquivos associados ao banco de dados e seus locais atuais.

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

  2. Expanda Bancos de Dadose selecione o nome do banco de dados do utilizador que pretende desanexar.

  3. Clique direito no nome do banco de dados, selecione Propriedades. Selecione a página Arquivos e revise as entradas na tabela Arquivos de banco de dados:.

Certifique-se de contabilizar todos os arquivos associados ao banco de dados antes de desanexar, mover e anexar. Em seguida, prossiga com as etapas de desanexação na próxima seção. Para obter mais informações sobre como anexar o banco de dados em seu novo local, consulte anexar um banco de dados.

Desanexar um banco de dados

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

  2. Expanda Bancos de Dadose selecione o nome do banco de dados de usuário que deseja desanexar.

  3. Clique com o botão direito no nome da base de dados, aponte para Tarefase, em seguida, selecione Desanexar. A caixa de diálogo Desanexar Banco de Dados é exibida.

    • Bancos de dados a serem desanexados: Lista os bancos de dados a serem desanexados.

    • Nome do Banco de Dados: Exibe o nome do banco de dados a ser desanexado.

    • Drop Connections: Desconecte as conexões com o banco de dados especificado.

      Observação

      Não é possível desanexar um banco de dados com conexões ativas.

    • Update Statistics: Por padrão, a operação de desanexação retém quaisquer estatísticas de otimização desatualizadas ao desanexar o banco de dados; Para atualizar as estatísticas de otimização existentes, marque esta caixa de seleção.

    • Manter Full-Text catálogos: Por padrão, a operação de desanexação mantém todos os catálogos de texto completo associados ao banco de dados. Para removê-los, desmarque a caixa de seleção Manter Full-Text Catálogos. Essa opção aparece somente quando você está atualizando um banco de dados do SQL Server 2005 (9.x).

    • Status: Exibe um dos seguintes estados: Pronto ou Não pronto.

    • Mensagem: A coluna Mensagem pode exibir informações sobre o banco de dados, da seguinte maneira:

      • Quando um banco de dados está envolvido em replicação, o status de é Não pronto e a coluna Mensagem exibe Banco de dados replicado.

      • Quando uma base de dados tem uma ou mais conexões ativas, o Status é Não pronto e a coluna Mensagem exibe <number_of_active_connections>Conexão(ões) ativa(s). Por exemplo: 1 Conexão(ões) ativa(s). Antes de desanexar o banco de dados, você deve desconectar todas as conexões ativas selecionando Drop Connections.

      Para obter mais informações sobre uma mensagem, selecione o texto com hiperlink para abrir o Monitor de Atividade.

  4. Quando estiver pronto para desanexar o banco de dados, selecione OK.

Observação

O banco de dados recém-desanexado permanecerá visível no nó Bancos de Dados do Pesquisador de Objetos até que a exibição seja atualizada. Você pode atualizar o modo de exibição a qualquer momento: Selecione um item no painel Pesquisador de Objetos e, na barra de menus, selecione Exibir e, em seguida, Atualizar.

Use Transact-SQL

Antes de mover um banco de dados

Se você estiver movendo um banco de dados, antes de desanexá-lo de sua instância existente do SQL Server, use a exibição sys.database_files catálogo do sistema para revisar os arquivos associados ao banco de dados e seus locais atuais. Para obter mais informações, consulte sys.database_files (Transact-SQL).

  1. No SQL Server Management Studio, selecione Nova Consulta para abrir o Editor de Consultas.

  2. Copie o seguinte script Transact-SQL para o Editor de Consultas e selecione Executar. Esse script exibe o local dos arquivos de banco de dados físicos. Certifique-se de levar em conta todos os arquivos ao mover o banco de dados via desanexar/anexar.

    USE [database_name]
    GO
    
    SELECT type_desc, name, physical_name
    FROM sys.database_files;
    

Certifique-se de contabilizar todos os arquivos associados ao banco de dados antes de desanexar, mover e anexar. Em seguida, prossiga com as etapas de desanexação na próxima seção. Para obter mais informações sobre como anexar o banco de dados em seu novo local, consulte anexar um banco de dados.

Desanexar um banco de dados

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

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo desanexa o banco de dados AdventureWorks2022 com a opção skipchecks definida como true. Para obter mais informações, consulte sp_detach_db.

    EXEC sp_detach_db 'AdventureWorks2022', 'true';