web-dev-qa-db-ja.com

データベース "x"のログは利用できません

何も変更しないで自分のサイトの登録ページを使用しようとしたところ、突然次のエラーメッセージが表示されました。

データベース "x"のログは利用できません。イベントログで関連するエラーメッセージを確認してください。エラーを解決し、データベースを再起動します。

説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについては、スタックトレースを確認してください。

プログラムとデータベースを再度開き、データベースを更新しようとしましたが、何も機能しませんでした。何が問題なのでしょうか?

17
user2235692
  • データベースをオフラインにします。
  • オンラインに戻します。
  • DBCC checkdbを実行して、すべてが適切であることを確認します。
  • Auto Close = Falseに設定します。
40
Eric Higgins

データベースがAutoCloseに設定されているか、OFFLINEに設定されているか、SQL Serverサービスが実行されていないときに、.ldfファイルが削除されたか、他のユーザーまたはツールによって破損/圧縮された可能性があります。

MDFファイルのコピーを作成し、次のコマンドを使用して添付を試行できます。

CREATE DATABASE mydb_copy ON (filename = 'C:\path to.mdf')
  FOR ATTACH_REBUILD_LOG;

それ以外の場合は、バックアップを探し始めます...

4
Aaron Bertrand

これを引き起こす原因は多すぎます。同じ問題が発生しました。データベースをオフラインにして、オンラインに戻す(またはMSSQLを再起動する)ことができます。通常、それは役立ちます。これで解決しない場合は、次の解決策を試してください。

  1. SQL Server 2008および2005の場合、最新のSPをインストールしてください
  2. DBCC CHECKDB( 'DatabaseName')を実行し、見つかったエラーを確認します
  3. より具体的なエラーコードについては、WindowsログとSQL Serverログを確認してください
  4. 一部の人々はデータベースの自動クローズオプションをFALSEに設定する解決策を見つけます
  5. このシナリオの背後にある理由は、不十分なIOまたはサーバーのメモリが原因である可能性があります
2
Milan Matějka