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.
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.
Expanda Bancos de Dadose selecione o nome do banco de dados do utilizador que pretende desanexar.
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
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.
Expanda Bancos de Dadose selecione o nome do banco de dados de usuário que deseja desanexar.
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.
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).
No SQL Server Management Studio, selecione Nova Consulta para abrir o Editor de Consultas.
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
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
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çãoskipchecks
definida comotrue
. Para obter mais informações, consulte sp_detach_db.EXEC sp_detach_db 'AdventureWorks2022', 'true';