Il database "XXX" è in transizione. Prova la dichiarazione più tardi


27

Sto provando a connettermi a un database SQL Server ottengo questo errore

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

oggi ho annullato una lunga query ma per qualche motivo non riesco a ripristinare il database. C'è qualcosa che posso fare?


4
Con una domanda come questa dovresti davvero essere specifico su quale server SQL e la sua versione. Immagino che intendi uno dei server Microsoft SQL ma non dovremmo indovinare.
John Gardeniers,

Controlla questo. Questo ha funzionato per me. stackoverflow.com/a/27036481/4273753

Risposte:


40

Questo può accadere a volte se si tenta di portare un DB offline o eseguire determinate altre operazioni e falliscono. A volte il blocco può essere cancellato se si chiude l'istanza SSMS che ha tentato l'operazione, quindi si riapre. Chiudi e riapri tutte le istanze SSMS collegate al server.

Può verificarsi anche se si tenta di portare offline il DB mentre è in esecuzione una query lunga. Controlla il monitor delle attività e prova a eliminare tutte le query di lunga durata, se applicabili e sicure.

Se nessuna delle precedenti funzioni funziona, chiudere tutte le istanze SSMS, quindi riavviare SQL tramite Gestione configurazione SQL Server. Di solito questo lo curerà, sebbene all'inizio il DB possa essere in modalità di recupero.


È così strano Sai perché sta succedendo?
Krismorte,

11

Stranamente, ho risolto questo problema semplicemente chiudendo SSMS e riaprendolo.


troppo facile. ha funzionato per me.
greg121,

La chiusura di SSMS e la riapertura hanno funzionato anche per me.
Michael Bollhoefer,


1

In SQL Server Management Studio è disponibile un'opzione per portare un database online / offline. Ma ha bisogno del permesso amministrativo.

Per accedervi, fare clic con il pulsante destro del mouse sul database -> Attività -> Porta in linea.


0

So che ha già risposto, ma solo per aggiungere; se la situazione è tale che si stava tentando di metterlo offline e quindi non è riuscito, è possibile provare a uccidere lo SPID che sta tentando di modificare lo stato del database.

Esegui sp_who o sp_who2 e trova uno SPID che gira sul DB nel tentativo di portare offline il database. KILL quello SPID e ti rimane un DB online o offline che NON è nello stato di transizione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.