web-dev-qa-db-ja.com

エラー9001、重大度:21、状態:1データベース 'DB_NAME'のログは利用できません

SQL Server 2008 R2を持っています。

バックアップが失敗したというメールを受け取り、SQLログビューアを開いて閲覧を開始しました。そして、私はこれらの2つのエラーを何度も見つけました。

エラー1:

Date        31-01-2013 13:20:30
Log     SQL Server (Current - 01-02-2013 05:13:00)

Source      spid20s

Message Error: 9001, Severity: 21, State: 1.

エラー2:

Date        31-01-2013 13:20:30
Log     SQL Server (Current - 01-02-2013 05:13:00)

Source      spid20s

Message
The log for database 'DB_NAME' is not available. Check the event log for related error messages. Resolve any errors and restart the database.

少しグーグルで調べた後、DBまたはログファイルが破損している可能性があることをエラーが示すことを何度か読みました。 DBCC CHECKDB 'DB_NAME'を実行することで確認できることを確認したので、実行しました。出力の最後の行は次のとおりです。

CHECKDB found 0 allocation errors and 0 consistency errors in database 'DB_NAME'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

出力は、DBが破損していないことを示しています。しかし、ログファイルはまだ壊れているのでしょうか?

また、1つの解決策は、「緊急モードの修復」と呼ばれるものを実行して、破損したファイルを修正する可能性があることも読みました。しかし、一部のユーザーはそれを推奨しませんでした。

別の解決策は、ログファイルを完全に削除してから、新しいログファイルを作成することです。

3
Arviddk

これらの現象は、データベース設定のAutoCloseがオンになっているときに発生することがあります。それを非アクティブにして、再試行してください。少し前に、SharePoint Foundation 2010データベースインスタンスを使用して2008R2 Express Editionで同じエラーが発生しました。私は調査し、例えば見つけました:

  1. http://www.sqlservercentral.com/Forums/Topic1037190-1550-1.aspx
  2. http://social.msdn.Microsoft.com/Forums/sqlserver/en-US/acfacc5e-bf1e-474d-825e-9eff927e0311/the-log-for-database-xtrans-is-not-available
  3. https://stackoverflow.com/questions/15771371/the-log-for-database-x-is-not-available

その後、「AutoClose」をオフに変更すると、問題は解決しました。その前に、影響を受けたデータベースをオフラインにして再度オンラインにする必要がありました。

エラーは、スケジュールされたジョブがDBCC CHECKDBを実行するたびに発生しました。手動で開始したデータベースのチェックでは、エラーは表示されませんでした。

2
Andreas