web-dev-qa-db-ja.com

データベースをオフラインにせずにエラー9004を修正する

データベース(SQL Server 2008 r2)は正常に動作していますが、イベントログに次のエラーが表示されます。

エラー:9004、重大度:23、状態:6。
データベース 'MyDB'のログの処理中にエラーが発生しました。可能であれば、
 backupから復元します。バックアップが利用できない場合は、ログを再構築する必要があるかもしれません。

データベースをオフラインにせずにこれを修正する方法はありますか?

そうでない場合、最速の方法は何でしょうか?トランザクションデータの損失は受け入れられます。

2
Kenny Johansen

理由はわかりませんが、データベースでレプリケーションを削除して再作成すると、エラーが再発しなくなりました。

0
Kenny Johansen

データベースがオンラインで、ログの一部を積極的に使用している可能性のあるもの(ミラーリング、AG、レプリケーションなど)を使用していない場合は、問題について他にあまり知らないため、ログのその部分を削除しようとする可能性があります。単純復旧モード(一括またはフルの場合)に変更してチェックポイントを発行することによるスイープ。次に、通常の復旧モデルに戻り、フルまたは差分を使用して有効なLSNチェーンを再開します。

これは、実際の根本的な原因に応じて機能する場合と機能しない場合がありますが、6の状態によって引き起こされるほとんどの場合には機能するはずです。

注意:データベースを危険にさらすために何かをすることは推奨しません。データベースがオンラインで機能している場合、これによってデータが失われることはなく、ブリッジできるLSNチェーン以外に破壊的なこともありません。

1
Sean Gallardy