警告とは何ですか:データベースdb-name>は疑わしいですか? あなたはおそらくSSMSで疑わしいとマークされたデータベースを見たことがあり、それが何を表しているのか分かりません。 これについてのより多くの細部を見つけるために記事の下で読んで下さい!
警告とは何ですか:データベースdb-nameが疑わしいですか?
SQL Serverデータベースが疑わしいモードになっているため、重大な状況に直面することがあります。 その時点では、データベースはもう使用できず、作業はできません。
データベースが疑わしいモードになる主な理由は、プライマリファイルグループが破損しており、SQL Serverの起動中にデータベースを回復できないためです。
また、データベースは他の複数の理由で疑わしい状態になる可能性があります。:
- データベースサーバーの不適切なシャットダウンによって引き起こされる可能性のあるシステムの誤動作
- ログファイルまたはMDFファイルの破損
- ディスク
データベースを修復してこの状態から回復するには、次の手順を実行する必要があります:
- まず、sp_resetstatusストアドプロシージャを実行して、データベースの状態を変更します
EXEC sp_resetstatus'TestDB'
- データベースを「緊急」モードに設定する
ALTER DATABASE TestDB SET EMERGENCY;
- 不整合の可能性があるかどうかをデータベースで確認します
DBCC checkdb('TestDB');
- DBCCフェーズ中にエラーが発生した場合は、以下のクエリの助けを借りて、すぐにデータベースをシングルユーザーモードにします:
ALTER DATABASE TestDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
- また、この時点では、安全上の理由から、データベースのバックアップを作成することをお勧めします
- データベースのバックアップを作成した後、次のクエリ ただし、REPAIR_ALLOW_DATA_LOSSパラメータを使用して次のクエリを使用している間は、データベースを修復する一方向操作を実行していますが、このプロセス中に行われた データベースの以前の状態に戻すための解決策はないため、前の時点で提案したバックアップを作成することを強くお勧めします
DBCC CheckDB('TestDB',REPAIR_ALLOW_DATA_LOSS);
- 最後に実行する必要があるクエリは、データベースをマルチユーザーモードに設定することです
ALTER DATABASE TestDB SET MULTI_USER;
- 最後のステップは、データベースサーバーを更新し、データベースへの接続が機能していることを確認することです。 この時点以降、ユーザーはデータベースに接続する可能性があります。 データの損失がある場合は、以前にバックアップしたデータベースを復元することができます