データベース「XXX」は移行中です。後で声明を試してください


27

SQLサーバーデータベースに接続しようとすると、このエラーが発生します。

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

今日、長いクエリをキャンセルしましたが、何らかの理由でデータベースをバックアップできません。何か私にできることはありますか?


4
このような質問では、どのSQLサーバーとそのバージョンについて具体的に説明する必要があります。Microsoft SQLサーバーの1つを意味すると推測していますが、推測する必要はありません。
ジョン・ガーデニアス

これをチェックしてください。これは私のために働いた。stackoverflow.com/a/27036481/4273753

回答:


40

これは、DBをオフラインにしたり、他の特定の操作を実行しようとして失敗した場合に発生することがあります。操作を試行したSSMSインスタンスを閉じてから再度開くと、ロックが解除される場合があります。サーバーに接続されているSSMSインスタンスをすべて閉じてから再度開きます。

また、長いクエリの実行中にDBをオフラインにしようとした場合にも発生する可能性があります。アクティビティモニターを確認し、適切で安全であれば、長時間実行されているクエリを強制終了します。

上記のどちらも機能しない場合は、すべてのSSMSインスタンスを閉じてから、SQL Server構成マネージャーを使用してSQLを再起動します。通常、これで回復しますが、DBは最初は回復モードになっている場合があります。


とても奇妙です。なぜそれが起こっているのか知っていますか?
クリスモート



1

データベースをオンライン/オフラインにするために、SQL Server Management Studioで利用可能なオプションがあります。ただし、管理権限が必要です。

それにアクセスするには、データベースを右クリック->タスク->オンラインにする。


0

既に回答済みですが、追加するだけです。オフラインにしようとして失敗した場合は、データベースの状態を変更しようとしているSPIDを強制終了してみてください。

sp_whoまたはsp_who2を実行し、データベースをオフラインにしようとしているDB上で回転しているSPIDを見つけます。そのSPIDを殺すと、移行状態にないオンラインまたはオフラインのDBが残ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.