現象

既定では、2016 年と 2017 年の tempdb データベースの間接Microsoft SQL Serverが有効になっています。 負荷の高い状況では、"非収穫スケジューラー" エラーが発生し、sys.dm_os_spinlock_stats DMV は DP_LIST スピンロックタイプのスピンロックの高い構成を示します。

解決方法

この修正プログラムは、次の更新プログラムと Service Pack に含まれています。

SQL Server 2016 の Service Pack 情報

       2016 年 SQL Server Service Pack 2

ビルドSQL Serverについて

新しいビルドには、SQL Server以前のビルドに含まれている修正プログラムとセキュリティ修正プログラムが含まれています。 最新の累積的な更新プログラムをインストールすることをお勧SQL Server。

SQL Server 2017 の最新の累積的な更新プログラム

SQL Server 2016 の最新ビルド

サービス パックは累積的です。 Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 お勧めは、最新の Service Pack と、その Service Pack の最新の累積的な更新プログラムを適用する方法です。 最新の Service Pack をインストールする前に、以前の Service Pack をインストールする必要は一方ではありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の記事の表 1 を参照してください。

SQL Server とそのコンポーネントのバージョン、エディション、および更新プログラムのレベルを確認する方法

回避策

この問題を回避するには、次のいずれかのデータ定義言語 (DDL) ステートメントを使用して、tempdb データベースの間接チェックポイントをオフにします。

これは、次の方法で行う必要があります。

  • modeldb データベース (新しいデータベースの既定値も変更されます) で、次のステートメントを実行

    ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • または、次のステートメントを使用して SQL Server Agent を使用してインスタンスを起動する度に tempdb データベースに

    直接アクセスALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • または、次のステートメントを使用して、tempdb データベースに対して定期的に手動で確認



    use tempdbgo checkpointgo
     

    さらに、TF 3468 を使用して tempdb の間接チェックポイントを無効にできます。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

関連情報

Microsoft がソフトウェア 更新プログラムについて 説明するために使用する用語について説明します。 更なる詳しい情報は以下の文献を参照してください:

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

ご意見をいただきありがとうございます。

×