Meu SQL Server 2005 não restaura um backup por causa de conexões ativas. Como posso forçá-lo?
sql-server
sql-server-2005
backup
restore
disconnect
Jader Dias
fonte
fonte
Respostas:
SQL Server Management Studio 2005
Quando você clica com o botão direito do mouse em um banco de dados, clica
Tasks
e, em seguidaDetach Database
, clica em , ele exibe uma caixa de diálogo com as conexões ativas.Ao clicar no hiperlink em "Mensagens", você pode matar as conexões ativas.
Você pode matar essas conexões sem desanexar o banco de dados.
Mais informações aqui .
SQL Server Management Studio 2008
A interface foi alterada para o SQL Server Management studio 2008, eis as etapas (via: Tim Leung )
fonte
Você deseja definir seu banco de dados para o modo de usuário único, fazer a restauração e configurá-lo novamente para multiusuário:
Referência: Pinal Dave ( http://blog.SQLAuthority.com )
Referência oficial: https://msdn.microsoft.com/en-us/library/ms345598.aspx
fonte
ROLLBACK IMMEDIATE
ouROLLBACK AFTER 60
. A única maneira de salvar esses dados é executar outro backup após a reversão. Mas você está restaurando a partir de um backup diferente. Então, qual é o sentido de esperar? Estou esquecendo de algo?Esse código funcionou para mim, mata todas as conexões existentes de um banco de dados. Tudo que você precisa fazer é alterar a linha Set @dbname = 'databaseName' para que ele tenha o nome do seu banco de dados.
depois disso eu fui capaz de restaurá-lo
fonte
Tente o seguinte:
fonte
Reiniciar o servidor SQL desconectará os usuários. A maneira mais fácil que eu encontrei - boa também se você quiser colocar o servidor offline.
Mas, por algum motivo muito estranho, a opção 'Take Offline' não faz isso de maneira confiável e pode travar ou confundir o console de gerenciamento. Reiniciando e executando trabalhos offline
Às vezes, essa é uma opção - se, por exemplo, você parou um servidor da web que é a fonte das conexões.
fonte
Eu deparei com esse problema ao automatizar um processo de restauração no SQL Server 2008. Minha abordagem (com êxito) foi uma mistura de duas das respostas fornecidas.
Primeiro, eu corro por todas as conexões do referido banco de dados e as mato.
Em seguida, defino o banco de dados para o modo single_user
Então, eu executo a restauração ...
Mate as conexões novamente
E defina o banco de dados novamente para multi_usuário.
Dessa forma, garanto que não há conexões mantendo o banco de dados antes de definir o modo único, pois o primeiro congelará se houver.
fonte
Nenhuma delas estava funcionando para mim, não foi possível excluir ou desconectar os usuários atuais. Também não foi possível ver nenhuma conexão ativa com o banco de dados. Reiniciar o SQL Server (clique com o botão direito do mouse e selecione Reiniciar) me permitiu fazê-lo.
fonte
Para adicionar conselhos já fornecidos, se você tiver um aplicativo Web executando o IIS que usa o banco de dados, também poderá ser necessário interromper (não reciclar) o pool de aplicativos para o aplicativo enquanto você restaura e reinicia. A interrupção do pool de aplicativos elimina as conexões http ativas e não permite mais, o que poderia resultar no desencadeamento de processos que se conectam e bloqueiam o banco de dados. Esse é um problema conhecido, por exemplo, com o Umbraco Content Management System ao restaurar seu banco de dados
fonte
Nenhuma das opções acima funcionou para mim. Meu banco de dados não mostrou nenhuma conexão ativa usando o Activity Monitor ou sp_who. Eu finalmente tive que:
Não é a solução mais elegante, mas funciona e não requer a reinicialização do SQL Server (não é uma opção para mim, pois o servidor DB hospedou vários outros bancos de dados)
fonte
Eu prefiro fazer assim,
alterar o conjunto de banco de dados offline com reversão imediata
e depois restaure seu banco de dados. depois disso,
alterar banco de dados definido on-line com reversão imediata
fonte