web-dev-qa-db-ja.com

DBCC CheckDBがハードウェア障害の初期段階で実行される

私たちの運用データベースサーバー(Windows Server 2008 R2 DC上のSQL 2008 R2 Enterprise)は、6月下旬以降の夜間のDBCC CheckDB(Prod_DB)中に奇妙なエラーに遭遇しました。当時は同じ仕事が順調でした。

このサーバーからテストサーバーに完全バックアップを復元しましたが、データファイルに問題はなく、DBCC CheckDBからエラーは返されませんでした。

先週この修正プログラムを適用しましたが、問題は解決しませんでした。

https://support.Microsoft.com/en-us/kb/967351/en-us

メッセージは十分に深刻に聞こえますが、それ以外の場合、アプリケーションは正常に機能しています。だから、ここで何を食べているのかわかりません。

どなたかアドバイスをいただければ幸いです。

SQLエージェントのジョブ履歴からのエラーメッセージは次のとおりです。

Date                      7/28/2015 4:02:00 AM
Log                         Job History (DBCC Check DBs)

Step ID                 1
Server                   XXX
Job Name                            DBCC Check DBs
Step Name                         check dbs
Duration                              00:12:37
Sql Severity        17
Sql Message ID 823
Operator Emailed            
Operator Net sent           
Operator Paged                
Retries Attempted          0

Message
Executed as user: XXX. During undoing of a logged operation in database 

'Prod_DB', an error occurred at log record ID (21235:2462484:113). 
Typically, the specific failure is logged previously as an error in the Windows Event Log service. Restore the database or file from a backup, or repair the database. 
[SQLSTATE 42000] (Error 3314)  A database snapshot cannot be created because it failed to start. 
[SQLSTATE 42000] (Error 1823)  A database snapshot cannot be created because it failed to start. 
[SQLSTATE 42000] (Error 1823)  The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline. 
[SQLSTATE 42000] (Error 7928)  The database could not be exclusively locked to perform the operation. 
[SQLSTATE 42000] (Error 5030)  Check statement aborted. The database could not be checked as a database snapshot could not be created and the database or table could not be locked. See Books Online for details of when this behavior is expected and what workarounds exist. Also see previous errors for more details. 
[SQLSTATE 42000] (Error 7926)  The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001a68024000 in file 'M:\Datab\Prod_DB.mdf:MSSQL_DBCC9'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 
[SQLSTATE 01000] (Error 823)  The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00002fd543e000 in file 'M:\Datab\Prod_DB.mdf:MSSQL_DBCC9'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 
[SQLSTATE 01000] (Error 823).  The step failed.
7
Hommer

最初にキックオフするときはDBCC CHECKDBデータベースのスナップショットを作成して、プロセス中にデータベースをオンラインのままにできるようにします。これで問題が発生している場合は、いくつかの点を確認できます。

  1. NTFSシステムを最適化します。NTFSストレージが著しく断片化されている場合、SQL Serverがデータベーススナップショットを作成できないという問題があります。これは、スナップショットが一定量のフラグメントしか持つことができないためです。これは、Microsoftサポートセンターの OSエラー1450および665がデータベースデータファイルに対して報告される に記載されています。 (あなたの問題はここにあると思います)
  2. 代替フィルターストリームに問題がある可能性があるため、誰かがNTFSフィルタードライバーを更新したかどうかを確認してください。

さらに、NTFSの断片化されていない部分にデータベースのデータベーススナップショットを作成し、CHECKDBを実行して、うまくいけばいつでも実行できます。

1
James Rhoat
0
user126897