今日、停電後、1つのデータベース(リカバリ:フル)がSSMSで「リカバリ中」と表示されます。そう:
myDatabase(リカバリ中)(データベースステータス:リカバリ、シャットダウン)
終了後、データベースの「回復プロセス」には、「(回復中)」のないmyDatabaseという名前が表示されます。問題は解決したと思ったが、そうではなかった。
そのデータベースを使用するアプリケーションを起動すると、データベース名の横に「(回復中)」という余分なテキストが再び表示されます。
「回復プロセス」が終了するまで待ってから、データベースをオフラインにし、オンラインに戻しました。
サーバーを再起動し、コンピューターを再起動し、アプリケーションが実行されていたときに余分なテキストが再び表示されます。SQL Serverログに、「データベース 'myDatabase'を起動しています」というメッセージが数回表示されます。データを挿入できるのでデータベースは機能しているようですが、状態は何かが起こっていることを示しています。
サーバーログには興味深いものは何も表示されません。唯一の異常なことは、「データベース 'myDatabase'を起動しています」というエントリが30個あることです。
サーバーが起動すると、すべてのデータベースが使用可能な状態になる前に回復することを知っています。しかし、私の場合、データベースはオンラインになり、「myDatabase(In recovery)」と表示されます。アプリケーションを閉じると、データベースはStatus:Normalになります。これは私を夢中にさせます。
SQL Serverの新しいインスタンスをインストールし、その上に古いデータベース「myDatabase」を配置しました。問題は引き続き発生します。
このクエリを実行すると:
SELECT databasepropertyex('nyDatabase', 'STATUS')
回復中、オンライン、疑わしい、オンラインに戻った後、回復などが表示されます。