KB3138455 - 修正: SQL Server AlwaysOn セカンダリ レプリカでバージョン管理クリーンアップ タスクを実行するときの "Non-yielding スケジューラ" エラー

適用先
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

現象

Microsoft SQL Server 2014 または 2012 SP3 を実行しているマルチコア プロセッサ (32 コア以上) があることを前提としています。 AlwaysOn セカンダリ レプリカでバージョン管理クリーンアップタスクを実行すると、CPU 使用率が 100% に近づくことがあります。 さらに、次のような "Non-yielding Scheduler" エラーが SQL Server エラー ログに記録されます。

date time.80 Server 'dbghelp.dll' バージョン '4.0.5' を使用
date time.81 サーバー ***spid 0 のスレッド コンテキストを取得できません
date time.81 サーバー * *******************************************************************************
date time.81 サーバー *
date time.81 サーバー * スタック ダンプの開始:
date time.81 サーバー * date time spid 2944
date time.81 サーバー *
date time.81 サーバー * Non-yielding スケジューラ
date time.81 サーバー *
date time.81 サーバー * *******************************************************************************
date time.81 ダンプのサーバー スタック署名が0x000000000000015Fされています
date time.22 Server [INFO] Identity Begin End |State Result Error Speculate prepared LazyCommit ReadOnly |トランザクション データベース ThreadId |ReadSet WriteSet ScanSet セーブポイント LogSizeRq |CommitDep TotalComm 依存 0 依存 1 依存 2 依存 3 依存 4 依存 5 依存 6 依存 7 |エリアの場所 |
date time.33 サーバー外部ダンプ プロセスのリターン コード 0x20000001。
date time.33 サーバー プロセス 0:0:0 (0x32e8) ワーカー 0x0000000005B54160は、Scheduler 12 で降伏していないようです。 スレッド作成時間: 13094297045567。 使用されたスレッド CPU の約: カーネル 0 ミリ秒、ユーザー 51979 ミリ秒。 プロセス使用率 2%。 システム アイドル 97%。 間隔: 70153 ミリ秒。
date time.45 サーバー プロセス 0:0:0 (0x32e8) ワーカー 0x0000000005B54160は、Scheduler 12 で譲歩しないようです。 スレッド作成時間: 13094297045567。 使用されたスレッド CPU の約: カーネル 0 ミリ秒、ユーザー 103459 ミリ秒。 プロセス使用率 2%。 システム アイドル 97%。 間隔: 136828 ミリ秒。
date time.58 サーバー プロセス 0:0:0 (0x32e8) ワーカー 0x0000000005B54160は、スケジューラ 12 で譲歩していないようです。 スレッド作成時間: 13094297045567。 使用されたスレッド CPU の使用量: カーネル 0 ミリ秒、ユーザー 146001 ミリ秒。 プロセス使用率 2%。 システム アイドル 97%。 間隔: 196951 ミリ秒。
date time.70 サーバー プロセス 0:0:0 (0x32e8) ワーカー 0x0000000005B54160は、スケジューラ 12 で降伏していないようです。 スレッド作成時間: 13094297045567。 使用されているスレッド CPU の使用量: カーネル 0 ミリ秒、ユーザー 193269 ミリ秒。 プロセス使用率 2%。 システム アイドル 97%。 間隔: 257073 ミリ秒。

解決策

この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。

SQL Server 2014 Service Pack 1 の累積的な更新プログラム 6
        
         SQL Server 2012 SP3 の累積的な更新プログラム 3
        
         SQL Server 2012 SP2 の累積的な更新プログラム 12
        
      

SQL Server 用の累積的な更新プログラムについて

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

SQL Server 2014 の最新の累積的な更新プログラム
        
         SQL Server 2012 SP3 の最新の累積的な更新プログラム
        
         SQL Server 2012 SP2 の最新の累積的な更新プログラム 

回避策

この問題を一時的に回避するには、SQL Server のインスタンスを実行しているコンピューターを再起動します。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

Microsoft がソフトウェア更新プログラムについて説明するために使用する 用語について説明します 。