2017 の SQL Server および 2016 でトラブルシューティングを行うより良いクエリ内並列処理のデッドロック

適用対象: SQL Server 2017 DeveloperSQL Server 2017 EnterpriseSQL Server 2017 Enterprise Core

概要


この SQL Server の更新プログラムは、次の拡張機能を追加することで並列処理に関連する (exchange) デッドロックをトラブルシューティングを向上します。

  • Exchange_spill xEventは、どの程度のデータの並列処理演算子こぼした 1 つの各スレッドでは、イベント フィールド名worktable_physical_writesを報告します。各スレッドでも、exchange_spill、xEvent を複数回報告ことがあります
  • Dmv sys.dm_exec_query_stats、sys.dm_exec_procedure_statssys.dm_exec_trigger_stats last_spills、max_spills 列のtotal_spillsでの並列処理演算子でこぼしたのデータを含めるようになりましたmin_spills
  • 並列処理の汚れがある場合、実行時のプラン表示の警告が報告されます。プラン表示の xml 属性にこの警告が表示される (< ExchangeSpillDetails WritesToTempDb ="spill_amount"/>)。
  • XML デッドロック グラフデッドロック シナリオの並列処理が向上しました。ExchangeEventのリソースをより多くの属性が追加されます
    • waiterType-コンシューマー、プロデューサー、コーディネーター
    • tid -、並列実行プラン内の各スレッドの一意の識別子。
    • ownerActivity -どのようなリソースの所有者が以前でした。"ReceivedData"、"sentData"、"notYetOpened"、または「開く」ことができます。
    • waiterActivity -どのようなリソースのリクエスターは、を行うとしています。"TryToSendData"、"needMoreData"、"waitForAllConsumersToBeReady"、"waitForAllOwnersToOpen"、または"waitForAllownersToClose"にします。
    • マージ -か、データを統合するための待機が参加しているかどうか。
    • こぼす -かどうか待機がこのようにデータか。
    • waitingToClose -パイプを終了するのには消費者の待機処理を待機するかどうか。
  • バッチ モードの演算子に関係するデッドロックXML デッドロック グラフが向上しました。同期ポイントのリソースより多くの属性が追加されます。
    • logicalOperatorTypeプラン表示の xml に一致する-論理演算子の種類です。
    • physicalOperatorTypeプラン表示の xml に一致する-物理演算子の種類です。
    • WaitType synchronizingAt-の 2 つの属性が集約的に待機し、所有者の同期ポイントを特定しています

      注:
      • WaitType synchronizingAt 属性の値は内部です。使用してマイクロソフトのサポートの問題のトラブルシューティングに役立つことができます
      • バッチモードでの並べ替え、ハッシュ結合とハッシュ集計演算子のsynchronizingAt属性が追加されます。
    • ownerActivityalways “NotYetArrived.”
    • waiterActivityalways “Arrived.”

詳細情報


2017 の SQL Server の累積的な更新 5でこの更新プログラムが含まれます。

2016 の SQL Server のサービス パックの情報

この更新プログラムは、SQL Server の次の service pack で修正します。

Service Pack 2 を SQL Server 2016 の

関連情報


マイクロソフトを使用してソフトウェア更新プログラムについて説明する用語について説明します。