O banco de dados 'XXX' está em transição. Tente a declaração mais tarde

27

estou tentando conectar a um banco de dados sql server eu recebo esse erro

Database 'XXX' is in transition. Try the statement later.

cancelei uma consulta longa hoje mais cedo, mas por algum motivo não consigo recuperar o banco de dados. Há algo que eu possa fazer?

Rod Johnson
fonte
4
Com uma pergunta como essa, você realmente deve ser específico sobre qual servidor SQL e sua versão. Acho que você quer dizer um dos servidores Microsoft SQL, mas não devemos adivinhar.
John Gardeniers
Veja isso. Isso funcionou para mim. stackoverflow.com/a/27036481/4273753

Respostas:

40

Às vezes, isso pode acontecer se você tentar colocar um banco de dados offline ou executar outras operações e elas falharem. Às vezes, o bloqueio pode ser limpo se você fechar a instância do SSMS que tentou a operação e reabri-lo. Feche e reabra todas as instâncias do SSMS conectadas ao servidor.

Também pode ocorrer se você tentar colocar o banco de dados offline enquanto uma consulta longa estiver em execução. Verifique o monitor de atividades e tente eliminar qualquer consulta de longa duração, se aplicável e segura.

Se nenhuma das opções acima funcionar, feche todas as instâncias do SSMS e reinicie o SQL por meio do SQL Server Configuration Manager. Normalmente, isso irá curá-lo, embora o banco de dados possa estar no modo de recuperação no início.

phoebus
fonte
É tão estranho. Você sabe por que isso está acontecendo?
Krismorte 20/05
11

Curiosamente, eu resolvi esse problema simplesmente fechando o SSMS e reabrindo.

Josh
fonte
muito fácil. trabalhou para mim.
greg121
Fechar o SSMS e reabrir também funcionou para mim.
Michael Bollhoefer
1

Existe uma opção disponível no SQL Server Management Studio para colocar um banco de dados online / offline. Mas precisa de permissão administrativa.

To access it, right click database --> Tasks--> Bring Online.

rchacko
fonte
0

Eu sei que já está respondido, mas apenas para adicionar; se a situação for tal que você estava tentando colocá-lo offline e falhou, tente matar o SPID que está tentando alterar o estado do banco de dados.

Execute sp_who ou sp_who2 e encontre um SPID que está girando no banco de dados tentando colocar o banco de dados offline. MATE esse SPID e você ficará com o banco de dados online ou offline que NÃO está no estado de transição.

Jun Sato
fonte