現象
Microsoft SQL Server 2012 では、sequence オブジェクトを使用することを前提としています。 セッションの実行状態を表示すると、チェックポイントプロセスと、新しいシーケンス番号を挿入するセッションの間に検出されないデッドロックが発生する場合があります。 この場合、セッションは無期限に停止します。注: ブロックされたセッションを終了すると、SQL Server のプロセスは停止します。
原因
この問題は、チェックポイントスレッドがシーケンスをフラッシュしようとするために発生します。 ただし、その行は sysobjvalues テーブルにはありません。 これは、別のスレッドが、シーケンスの次の値を持つトランザクションに対してロールバックを実行するためです。この状況では、この行は sysobjvalues テーブルから削除されます。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積更新プログラム2 /en-us/help/2983175
SQL Server 2012 SP1 の累積更新プログラム11 /en-us/help/2975396
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。