新しく構築された2016 SQL Server-13.0.5149.0-OS 2016(Microsoft Windows NT 6.3(14393))を持っています。環境はVMWareです。 SQL Server HA構成はありません。
CheckDBが待機タイプCHECK_TABLES_THREAD_BARRIERで「停止」するという問題があります。 2つの異なるデータベースで2回発生しています。この待機をどうするかについて、オンラインリソースに多くの情報が記載されていることはありません。マイクロソフトは情報の「TBD」をリストします。これは、アップグレード用の本番環境以外の概念実証環境です。
誰かが洞察や次のステップを提供できますか?
待機タイプは、自己文書化のようなものになる場合があります。この場合、何かが原因でCHECKDB
が多すぎるスレッドを使用していると考えます。これを最小化または排除する1つの方法は、CHECKDB
をMAXDOP
オプションを使用して単一コアを使用するように制限することです。
DBCC CHECKDB ('database') WITH MAXDOP = 1;
私はここにCHECKDB
の影響を最小限に抑えるための他のアイデアがあります(MAXDOP
オプションが追加されるずっと前に書かれたので、投稿を更新する必要があります):
マイクロソフトからの正式な回答が必要な場合は、サポートケースを開く必要があると思います。それはかもしれませんこの症状につながるバグがある場合、サポートコールは無料になりますが、私はそれだけでは行きません何の説明を得るためにCHECK_TABLES_THREAD_BARRIER
は、特に実行可能な回避策があることを知っている場合に意味します。
私の待機ライブラリにはまだ情報がありませんが(すぐに修正される予定です)、CHECKDBがエラー状態になり、さまざまなスレッドの実行が完了するのを待っているときに、このハングにぶつかる可能性があります。
これは、Microsoftが調査中のまれな既知の問題ですが、まだ特定または修正されていません。
ありがとう