この記事では、SQL Server の疑わしいデータベースを解決する方法について説明します。データベースが誤って疑わしいとマークされる場合があります。以下にいくつかの解決策を示します。 1. まず、.mdf ファイルと .ldf ファイルがバックアップされていることを確認します。
2. SQL Server に同じ名前の新しいデータベースを作成し、SQL Server サービスを停止します。
3. 新しいデータベースに対応する .mdf および .ldf ファイルを、元の .mdf および .ldf ファイルで上書きします。
4. SQL Server サービスを再起動すると、データベースが疑わしいステータスになっていることがわかります。
5. SQL クエリ アナライザーで次のコマンドを実行して、システム テーブルを更新できるようにします。
mastergosp_configure '更新を許可' を使用し、1overridego で再構成します
6. このデータベースを緊急モードにします。
sysdatabases を更新します。ステータス = 32768 に設定します。ここで、名前 = 'db_name'go
7. DBCC CHECKDB コマンドを使用して、データベース内のエラーをチェックします。
DBCC CHECKDB('db_name')GO
8. DBCC CHECKDB コマンドが失敗した場合は、手順 10 に進みます。それ以外の場合は、データベースを修復する前にデータベースをシングル ユーザー モードにします。
sp_dboption 'db_name','single user','true'DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS)GO
DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS) コマンドの実行時に、データベースがシングル ユーザー モードではないことを示すメッセージが表示された場合は、SQL Server サービスを再起動して試行を続けます。
9. DBCC CHECKDB('db_name', REPAIR_ALLOW_DATA_LOSS) コマンドが失敗した場合は手順 10 に進み、それ以外の場合はデータベースのエラーが正常に修復されました。
DBCC CHECKDB('db_name') コマンドを再実行して、データベースにエラーがないことを確認します。
データベースの疑わしいステータスをクリアします: sp_resetstatus 'db_name'
データベースのシングル ユーザー モード ステータスをクリアします: sp_dboption 'db_name','single user','false'
SQL Server サービスを再起動します。すべてが正常であれば、データベースは正常に復元されています。
10. 上記の手順で問題が解決しない場合は、添付ドキュメントを参照し、トランザクション ログを再構築してデータベース内のデータを復元してください。 MDF ファイルのみがある場合、問題はさらに複雑になるため、トランザクション ログを直接再構築する必要があります。
1. SQL Server に同じ名前の新しいデータベースを作成し、SQL Server サービスを停止します。
2. 元の ldf ファイルを使用して、新しく作成したデータベースに対応する .mdf ファイルを上書きし、そのログ ファイル (.ldf) を削除します。
3. SQL Server サービスを開始し、データベースを緊急モードにします (上記と同じ: ステップ 5 およびステップ 6)。
4. SQL Server サービスを停止して再起動します。
5. 次のコマンドを実行してデータベース ログ ファイルを再構築します (以下は例であり、実際のデータベース名を使用する必要があります)。
DBCC REBUILD_LOG('cas_db', 'D:cas_dbcas_db_Log.LDF')
6. データベースをシングルユーザー モードに置き換えます。
7. DBCC CHECKTABLE または DBCC CHECKDB コマンドを使用してデータベース内のエラーを確認し、修正して再試行します。
-