DBCC TRACEON - トレース フラグ (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance Azure Synapse Analytics Parallel Data Warehouse

トレース フラグは、サーバー固有の特性を設定したり、特定の動作を変更したりするときに使用します。 たとえば、トレース フラグ 3226 は、よく使用されるスタートアップ トレース フラグであり、エラー ログ内のバックアップの成功メッセージを抑制します。 トレース フラグは、パフォーマンスの問題を診断する場合や、ストアド プロシージャや複雑なコンピューター システムをデバッグする場合によく使用されますが、特定のワークロードに悪影響を及ぼす動作に対応するために Microsoft サポートがお勧めすることもあります。 ドキュメントに記載されているすべてのトレース フラグと Microsoft サポートがお勧めするトレース フラグは、指示どおりに使用した場合、運用環境で完全にサポートされます。 この一覧のトレース フラグには、特定の使用法に関して追加の考慮事項が存在する可能性があるため、ここに示したすべての推奨事項とサポート エンジニアによる推奨事項を慎重に検討することをお勧めします。 また、SQL Server での構成変更と同様に、展開する前に、運用環境以外でこのフラグを徹底的にテストすることをお勧めします。

解説

SQL Server では、クエリ、セッション、およびグローバルの 3 つのスコープでトレース フラグを使用できます。 クエリ トレース フラグは、特定のクエリのコンテキストに対してアクティブです。 セッション トレース フラグは、1 つの接続についてアクティブで、その接続に対してのみ表示可能です。 グローバル トレース フラグは、サーバー レベルで設定され、サーバー上のすべての接続に対して表示可能です。 フラグには、グローバルとしてのみ有効化できるフラグと、グローバルまたはセッション スコープのどちらかで有効化できるフラグがあります。

次の規則が適用されます。

  • グローバル トレース フラグは、グローバルに有効化する必要があります。 グローバルに有効化しない場合、そのトレース フラグは機能しません。 グローバル トレース フラグは、 -T コマンド ライン オプションを使用して、起動時に有効化することをお勧めします。 このようにすると、サーバーの再起動後も、トレース フラグはアクティブなままになります。 トレース フラグを有効にするには、SQL Server を再起動します。
  • トレース フラグのスコープがグローバル、セッション、クエリのいずれかの場合、適切なスコープで有効化できます。 セッション レベルで有効化したトレース フラグは、別のセッションには影響せず、セッションを開いた SPID がログアウトすると無効になります。

トレース フラグを ON または OFF に設定するには、次のいずれかの方法を使用します。

  • DBCC TRACEON と DBCC TRACEOFF コマンドを使用する。
    たとえば、2528 トレース フラグをグローバルに有効にするには、DBCC TRACEON を使って引数 -1 を指定します (DBCC TRACEON (2528, -1))。 DBCC TRACEON で有効にしたグローバル トレース フラグの効果は、サーバーを再起動すると失われます。 グローバル トレース フラグをオフにするには、DBCC TRACEOFF で引数 -1 を指定します。
  • スタートアップ オプション -T を使用して、起動時にトレース フラグが有効に設定されるように指定する。
    スタートアップ オプション -T を使用すると、トレース フラグをグローバルに有効化できます。 スタートアップ オプションでは、セッションレベルのトレース フラグは有効化できません。 このようにすると、サーバーの再起動後も、トレース フラグはアクティブなままになります。 スタートアップ オプションの詳細については、「 データベース エンジン サービスのスタートアップ オプション」をご覧ください。
  • クエリ レベルで、QUERYTRACEON クエリ ヒントを使用する。 QUERYTRACEON オプションは、以下の表に記載されているクエリ オプティマイザー トレース フラグに対してのみサポートされています。

現在有効なトレース フラグを確認するには、DBCC TRACESTATUS コマンドを使用します。

トレース フラグ

次の表は、SQL Server で使用できるトレース フラグの一覧とその説明です。

注意

Azure SQL Managed Instance では、次のグローバル トレース フラグがサポートされています。460、2301、2389、2390、2453、2467、7471、8207、9389、10316、および 11024。 Managed Instance では、セッション トレース フラグはまだサポートされていません。

注意

一部のトレース フラグは、SQL Server の特定のバージョンで導入されました。 該当するバージョンについて詳しくは、特定のトレース フラグに関連する Microsoft サポート記事をご覧ください。

重要

トレース フラグの動作は、今後の SQL Server のリリースではサポートされない可能性もあります。

トレース フラグ 説明
101 マージ レプリケーション エージェントのログ記録の詳細度を高くします。

重要: トレース フラグ 101 を レプリケーション マージ エージェントに対してのみ有効にするには、コマンド プロンプトから replmerg.exe を実行するときに -T オプションを使用します。

警告: トレース フラグ 101 は、運用環境で継続的に有効にするためのものではなく、時間を限定したトラブルシューティング目的でのみ使用します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

[スコープ] : レプリケーション マージ エージェントのみ
102 マージ レプリケーション エージェントのログ記録の詳細度を高め、 <Distribution server>..msmerge_history テーブルに転送します。

重要: トレース フラグ 102 を レプリケーション マージ エージェントに対してのみ有効にするには、コマンド プロンプトから replmerg.exe を実行するときに -T オプションを使用します。

警告: トレース フラグ 102 は、運用環境で継続的に有効にするためのものではなく、時間を限定したトラブルシューティング目的でのみ使用します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

[スコープ] : レプリケーション マージ エージェントのみ
139 互換性レベルが低いデータベースで、特定のデータ型に対して互換性レベル 130 で導入された精度の向上と変換ロジックを分析するときに、DBCC CHECKDBDBCC CHECKTABLEDBCC CHECKCONSTRAINTS などの DBCC チェック コマンドのスコープで正しい変換セマンティクスを強制します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2016 (13.x) RTM CU3、SQL Server 2016 (13.x) SP1 以降のビルドに適用されます。

警告: トレース フラグ 139 は、運用環境で継続的に有効にすることを意図したものではなく、こちらの Microsoft サポート技術情報で説明されているデータベース検証チェックの実行のみを目的として使う必要があります。 検証チェック完了後直ちに無効にする必要があります。

スコープ: グローバルのみ
174 64 ビット システムで、SQL Server データベース エンジン プラン キャッシュ バケット数を 40,009 から 160,001 に増やします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバルのみ
176 計算済みパーティション分割列を含むテーブルのパーティションをオンラインで再構築するときに、アドレス エラーを修正できるようにします。 詳しくは、こちらの Microsoft サポート技術情報およびこちらの Microsoft サポート技術情報を参照してください。

スコープ: グローバル、セッション
205 統計の自動更新の結果として統計に依存するストアド プロシージャが再コンパイルされるときに、エラー ログにレポートします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグを有効にするには、トレース フラグを 3605 にする必要があります。

スコープ: グローバルのみ
260 拡張ストアド プロシージャのダイナミックリンク ライブラリ (DLL) に関するバージョン情報を出力します。 GetXpVersion() について詳しくは、「拡張ストアド プロシージャの作成」をご覧ください。

スコープ: グローバル、セッション
272 サーバーが突然再起動したか、セカンダリ サーバーにフェールオーバーしたときに ID 列の値に隔たりができることを回避するため、ID の事前割り当てを無効にします。 ID キャッシュは ID 列が含まれるテーブルでの INSERT パフォーマンスを改善するために使われることに注意してください。

注: SQL Server 2017 (14.x) 以降において、データベース レベルでこれを行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の IDENTITY_CACHE オプションを参照してください。

スコープ: グローバルのみ
460 データ切り捨てのメッセージ ID 8152 がメッセージ ID 2628 に置き換えられます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2019 (15.x) 以降に、データベース レベルでこれを行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の VERBOSE_TRUNCATION_WARNINGS オプションを参照してください。

注: このトレース フラグは、SQL Server 2017 (14.x) CU12 以降のビルドに適用されます。

注: データベース互換性レベル 150 からはメッセージ ID 2628 が既定値となり、このトレース フラグに影響がありません。

スコープ: グローバル、セッション
610 インデックスが作成されたテーブルへの最小ログ記録の挿入を制御します。 SQL Server 2016 以降では、インデックスが作成されたテーブルに対しては最小ログ記録が既定で有効になるため、このトレース フラグは必要ありません。 SQL Server 2016 (13.x) では、一括読み込み操作によって新しいページが割り当てられると、最小ログ記録のその他のすべての前提条件が満たされている場合、その新しいページに連続して入力されるすべての行が最小ログに記録されます。 インデックスの順序を維持するために (新しいページの割り当てなしで) 既存のページに挿入される行は、読み込み中のページ分割の結果として移動される行なので、完全ログ記録されます。 割り当て中にページ ロックが取得され、ページまたはエクステントの割り当てのみがログに記録されるため、最小ログ記録操作が機能するには、インデックスの ALLOW_PAGE_LOCKS を ON にすることも重要です (既定値は ON)。 詳細については、「データ ローディング パフォーマンス ガイド」を参照してください。

スコープ: グローバル、セッション
634 バックグラウンドの列ストア圧縮タスクを無効にします。 SQL Server では、圧縮されていないデータが含まれる列ストア インデックス行グループを圧縮する組ムーバー バックグラウンド タスクが定期的に実行されます。この行グループの圧縮処理は 1 つずつ実行されます。

列ストアの圧縮によりクエリのパフォーマンスは向上しますが、この処理はシステム リソースを消費します。 列ストア圧縮のタイミングは手動で制御できます。それには、トレース フラグ 634 でバックグラウンド圧縮タスクを無効にし、好きなタイミングで ALTER INDEX...REORGANIZE または ALTER INDEX...REBUILD を明示的に呼び出します。

スコープ: グローバルのみ
652 ページのプリフェッチ スキャンを無効にします。 トレース フラグ 652 を有効にすると、これらのデータベース ページがスキャンによって使用される前に、SQL Server によってデータベース ページがバッファープールに読み込まれなくなります。 その結果、ページのプリフェッチ機能を利用するクエリでは、パフォーマンスが低下します。

スコープ: グローバル、セッション
661 ゴースト レコードの削除プロセスを無効にします。 トレース フラグ 661 は、ゴースト レコードの削除プロセスを無効にします。 ゴースト レコードは、削除操作の結果です。 レコードを削除すると、削除されたレコードはゴースト レコードとして保持されます。 その後、削除されたレコードは、ゴースト レコードの削除プロセスによって消去されます。 このプロセスを無効にすると、削除されたレコードは消去されません。 そのため、削除されたレコードが消費している領域は解放されません。 この動作は、領域の消費とスキャン操作のパフォーマンスに影響します。 詳細については、「ゴースト クリーンアップ プロセスのガイド」を参照してください。

スコープ: グローバルのみ
692 ヒープまたはクラスター化インデックスへのデータの一括読み込みの間に高速挿入を無効にします。 SQL Server 2016 (13.x) 以降では、新しいページに挿入されるレコードの挿入パフォーマンスを最適化するため、データベースが単純復旧モデルまたは一括ログ復旧モデルのときは、既定で、最小ログ記録を利用して高速挿入が有効になります。 高速挿入では、挿入のパフォーマンスを最適化するため、各一括読み込みバッチは新しいエクステントを取得し、使用可能な空き領域を持つ既存エクステントの割り当ての参照をバイパスします。

高速挿入では、小さいバッチ サイズの一括読み込みにより、オブジェクトによって消費される未使用領域が増加する可能性があるため、各バッチに大きいバッチ サイズを使ってエクステントを完全に埋めることをお勧めします。 バッチ サイズを大きくできない場合は、このトレース フラグを使うと、パフォーマンスは低下しますが、確保される未使用領域を減らすのに役立ちます。

注: このトレース フラグは、SQL Server 2016 (13.x) RTM 以降のビルドに適用されます。

スコープ: グローバル、セッション
715 非クラスター化インデックスのないヒープへの一括読み込み操作で、テーブル ロックを有効にします。 このトレース フラグを有効にすると、一括読み込み操作は、テーブルにデータを一括コピーするときに、一括更新 (BU) ロックを取得します。 一括更新 (BU) ロックをかけると、同時に複数のスレッドによりデータを同一のテーブルに一括で読み込むことができますが、一括読み込みに参加していない他のプロセスは、その間テーブルにアクセスできません。

この動作は、一括読み込みを実行するときにユーザーが明示的に TABLOCK ヒントを指定する場合、または一括読み込みでの sp_tableoption テーブル ロックが特定のテーブルに対して有効になっている場合と、似ています。 ただし、このトレース フラグを有効にすると、クエリまたはデータベースの変更なしに、この動作が既定になります。

スコープ: グローバル、セッション
818 追加の I/O 診断を有効にして、ファイル I/O 操作中の書き込み消失または古い読み取りの状態の有無を確認します。 トレース フラグ 818 を有効にすると、インメモリ リング バッファーが有効になります。これは、SQL Server によって実行された直前の 2,048 回の成功した書き込み操作 (並べ替えと作業ファイル I/O は含まない) を追跡するために使用されます。 エラー 605、823、3448 などが発生すると、入力バッファーのログ シーケンス番号 (LSN) の値が、最近の書き込みリストと比較されます。 取得した LSN が書き込み操作中に指定された LSN よりも古い場合は、新しいエラー メッセージが SQL Server エラー ログに記録されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2017 (14.x) 以降には、このトレース フラグは影響しません。

スコープ: グローバルのみ
834 バッファー プール、列ストア、およびインメモリ テーブルに対して大きいページの割り当てを使用します。 サイズの大きいページはハードウェア プラットフォームによって異なりますが、ページ サイズは 2 MB から 16 MB までの範囲で指定できます。 大きなページは起動時に割り当てられ、プロセスの有効期間全体にわたって保持されます。 トレース フラグ 834 は、CPU でのトランスレーション ルックアサイド バッファー (TLB) の効率を向上させることで、パフォーマンスを向上させます。 つまり、トレース フラグ 834 によって、メモリ管理ハードウェアによって実行される物理から仮想メモリへのアドレス変換を管理する効率が向上します。 SQL Server と大規模なページの詳細については、次のブログを参照してください。

注: トレース フラグ 834 は、SQL Server の 64 ビット バージョンにのみ適用されます。 トレース フラグ 834 を有効にするには、"メモリ内のページのロック" ユーザー権限を持っている必要があります。 トレース フラグ 834 は、起動時にのみ有効にすることができます。 メモリが断片化している場合や、大きなページを割り当てることができない場合に、トレース フラグ 834 によってサーバーが起動しくなる可能性があります。 したがって、トレース フラグ 834 は SQL Server 専用のサーバーで使用することをお勧めします。

注: 大きいページのメモリ モデルを有効にした場合、インスタンスの起動時にすべての SQLOS メモリが事前に割り当てられ、そのメモリは OS に返されません。

注: SQL Server 2012 (11.x) の列ストア インデックス機能を SQL Server 2019 (15.x) に対して使用する場合は、トレース フラグ 834 をオンにしないことをお勧めします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。 SQL Server 2019 (15.x) と列ストアを使用する場合は、代わりにトレース フラグ 876 を参照してください。

スコープ: グローバルのみ
836 バッファー プールに対して max server memory オプションを使用します。 トレース フラグ 836 によって、SQL Server で、物理メモリの合計に基づいてではなく、max server memory オプションの値に基づいて、起動時にバッファー プールのサイズが設定されます。 トレース フラグ 836 を使用すると、起動時に 32 ビット Address Windowing Extensions (AWE) モードで割り当てられるバッファー記述子の数を減らすことができます。

注: トレース フラグ 836 は、AWE 割り当てが有効になっている SQL Server の 32 ビット バージョンにのみ適用されます。 トレース フラグ 836 は、起動時にのみ有効にすることができます。

スコープ: グローバルのみ
845 SQL Server のサービス アカウントで Lock Pages in Memory 特権が有効になっている場合、SQL Server の Standard SKU でロックされたページを有効にします。 詳しくは、こちらのMicrosoft サポート技術情報およびドキュメント ページ「サーバー メモリに関するサーバー構成オプション」をご覧ください。

注: SQL Server 2012 (11.x) 以降では、この動作は Standard SKU に対して既定で有効になるので、トレース フラグ 845 を使わないでください。

スコープ: グローバルのみ
876 列ストアに大きいページの割り当てを使用します。

注: トレース フラグ 834 とは異なり、トレース フラグ 876 を使用すると、インスタンスの起動時に SQLOS メモリが事前に割り当てられず、未使用のメモリを解放できます。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバルのみ
902 累積更新プログラムまたは Service Pack をインストールするときに、データベース アップグレード スクリプトの実行をバイパスします。 スクリプト アップグレード モード中にエラーが発生する場合は、Microsoft SQL のカスタマー サービスとサポート (CSS) に詳しいガイダンスを問い合わせることをお勧めします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

警告: このトレース フラグは、スクリプト アップグレード モード中に更新が失敗した場合のトラブルシューティングを目的としたものであり、運用環境での継続的な実行はサポートされていません。 累積的な更新プログラムと Service Pack を完全にインストールするには、データベース アップグレード スクリプトが正常に実行される必要があります。 そうでない場合、SQL Server インスタンスで予期しない問題が発生することがあります。

スコープ: グローバルのみ
1117 ファイル グループ内のファイルが自動拡張のしきい値を満たすときに、ファイル グループ内のすべてのファイルを拡張します。 このトレース フラグはすべてのデータベースに影響します。すべてのデータベースでファイルグループ内のすべてのファイルが同量ずつ安全に拡張できる場合にのみ推奨されます。

注: SQL Server 2016 (13.x) 以降では、この動作は ALTER DATABASE の AUTOGROW_SINGLE_FILE および AUTOGROW_ALL_FILES オプションによって制御されるようになり、トレース フラグ 1117 の効力はなくなりました。 詳細については、「ALTER DATABASE の File および Filegroup オプション (Transact-SQL)」を参照してください。

スコープ: グローバルのみ
1118 混合エクステントではなく単一エクステント上でページの割り当てを強制することにより、SGAM ページでの競合が減少します。 新しいオブジェクトが作成されると、既定では、最初の 8 ページは異なるエクステント (混合エクステント) から割り当てられます。 後でページを追加する必要が生じる場合、それらのページは同じエクステント (単一エクステント) から割り当てられます。 SGAM ページはこれらの混合エクステントを追跡するのに使用されます。これは、混合ページの割り当てが多く発生した場合に、それらの混合エクステントが即座にボトルネックとなる可能性があるためです。 新しいオブジェクトを作成する際、このトレース フラグにより 8 ページすべてが同じエクステントから割り当てられるため、SGAM ページをスキャンする必要性が最小限に抑えられます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2016 (13.x) 以降では、この動作は ALTER DATABASE の SET MIXED_PAGE_ALLOCATION オプションによって制御されるようになり、トレース フラグ 1118 の効力はなくなりました。 詳細については、「ALTER DATABASE の SET オプション (Transact-SQL)」を参照してください。

スコープ: グローバルのみ
1204 デッドロックに関係しているロックのリソースと種類、および影響を受けている現在のコマンドを返します。 デッドロックの詳細については、「トランザクションのロックおよび行のバージョン管理ガイド」を参照してください。

注: デッドロックの原因となっているワークロード集中型のシステムでは、トレース フラグ 1204 を使用しないようにしてください。 デッドロックを検出する他の方法の詳細については、「トランザクションのロックおよび行のバージョン管理ガイド」を参照してください。

スコープ: グローバルのみ
1211 メモリの負荷またはロック数に基づいて、ロックのエスカレーションを無効にします。 SQL Server データベース エンジンにおいて、行ロックまたはページ ロックはテーブル ロックにエスカレートされません。

このトレース フラグを使用すると、過剰な数のロックが発生する可能性があります。ロック メモリのサイズが十分に大きくなると、クエリに対して追加のロックを割り当てようとする試みは失敗する可能性があります。 これが原因でデータベース エンジンのパフォーマンスが悪化したり、メモリ不足によって 1204 エラー (ロック リソース割り当て不能) が発生する可能性があります。

トレース フラグ 1211 と 1224 の両方を設定した場合、1224 よりも 1211 が優先されます。 ただし、トレース フラグ 1211 では、メモリに負荷がかかっていたとしてもすべての場合でエスカレーションが無効になるので、代わりに 1224 の使用をお勧めします。 これで、多数のロックが使用中でも "ロック不足" エラーを回避することができます。

SQL Server でのロックのエスカレーションが原因であるブロッキングの問題を解決する方法の詳細については、この Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション
1222 デッドロックに関係しているロックのリソースと種類、および影響を受けている現在のコマンドを、どの XSD スキーマにも準拠しない XML 形式で返します。 デッドロックの詳細については、「トランザクションのロックおよび行のバージョン管理ガイド」を参照してください。

注: デッドロックの原因となっているワークロード集中型のシステムでは、トレース フラグ 1222 を使用しないようにしてください。 デッドロックを検出する他の方法の詳細については、「トランザクションのロックおよび行のバージョン管理ガイド」を参照してください。

スコープ: グローバルのみ
1224 ロック数に基づいてロックのエスカレーションを無効にします。 ただし、メモリに負荷がかかっていてもロックのエスカレーションは有効にできます。 データベース エンジン では、ロック オブジェクトで使用されるメモリ量が次のいずれかの条件を超えた場合に、行ロックまたはページ ロックがテーブル ロック (またはパーティション ロック) にエスカレートされます。
  • データベース エンジン で使われるメモリの 40%。 これは、sp_configure の locks パラメーターが 0 に設定されている場合にのみ適用されます。
  • sp_configure の locks パラメーターを使って構成されるロック メモリの 40%。 詳細については、「 サーバー構成オプション (SQL Server)」を参照してください。

トレース フラグ 1211 と 1224 の両方を設定した場合、1224 よりも 1211 が優先されます。 ただし、トレース フラグ 1211 では、メモリに負荷がかかっていたとしてもすべての場合のエスカレーションが無効になるわけではないので、1224 の使用をお勧めします。 これで、多数のロックが使用中でも "ロック不足" エラーを回避することができます。

注: テーブル レベルまたは HoBT レベルの細分性へのロックのエスカレーションは、ALTER TABLE ステートメントの LOCK_ESCALATION オプションで制御することもできます。

SQL Server でのロックのエスカレーションが原因であるブロッキングの問題を解決する方法の詳細については、この Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション
1229 CPU の数に関係なく、すべてのロックのパーティション分割を無効にします。 既定では、より大規模なシステムのスケーラビリティ特性を向上させるために、サーバーに 16 個以上の CPU が搭載されている場合は、SQL Server によりロックのパーティション分割が有効にされます。 パーティション分割のロックの詳細については、「トランザクションのロックおよび行のバージョン管理ガイド」を参照してください。

警告: トレース フラグ 1229 を使用すると、スピンロックの競合が発生し、パフォーマンスが低下する可能性があります。

スコープ: グローバルのみ
1236 データベース ロックのパーティション分割を有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2012 (11.x) SP3 および SQL Server 2014 (12.x) SP1 以降、この動作はエンジンによって制御されるようになり、トレース フラグ 1236 に効力はありません。

スコープ: グローバルのみ
1237 ALTER PARTITION FUNCTION ステートメントが、既定でデッドロック対象候補になるのではなく、現在のユーザー定義のセッション デッドロック優先順位に従うことができるようにします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2017 (14.x) 以降およびデータベース 互換性レベル 140 では、これが既定の動作であり、トレース フラグ 1237 に効力はありません。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
1260 スケジューラ モニターのダンプを無効にします。

スコープ: グローバルのみ
1448 非同期セカンダリで変更の受信が確認されていない場合でもレプリケーション ログ リーダーが前へ移動できるようにします。 このトレース フラグが有効でも、ログ リーダーは常に同期セカンダリを待機します。 ログ リーダーは同期セカンダリの最小 ack を超えることはありません。 このトレース フラグは、可用性グループ、可用性データベース、またはログ リーダー インスタンスだけでなく、SQL Server のインスタンスにも適用されます。 再起動しなくてもすぐに有効になります。 このトレース フラグは、事前にアクティブにすることも、非同期セカンダリが失敗したときにアクティブにすることもできます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
1462 非同期可用性グループのログ ストリーム圧縮を無効にします。 ネットワーク帯域幅を最適化するため、非同期可用性グループではこの機能は既定で有効にされています。 詳細については、「 Tune compression for availability group」(可用性グループの圧縮を調整する) を参照してください。

スコープ: グローバルのみ
1800 SQL Server Always On 環境およびログ配布環境では、プライマリとセカンダリのレプリカ ログ ファイルで異なるセクター サイズのディスクが使われているときは、SQL Server の最適化を有効にします。 このトレース フラグは、セクター サイズが 512 バイトのディスクにトランザクション ログ ファイルが存在する SQL Server インスタンスでのみ、有効にする必要があります。 セクター サイズが 4 K のディスクでは、有効にする必要は ありません。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2012 (11.x) SP1 CU13、SQL Server 2012 (11.x) SP2 CU3、SQL Server 2014 (12.x) RTM CU5、およびそれ以降のビルドに適用されます。

スコープ: グローバルのみ
1802 データベースのアタッチまたはデタッチの操作中の、ACL の変更および偽装アクセスの検証を無効にします。 これは、データベースをアタッチするときに、エラー 5120 などのアクセス権限エラーが発生する場合に役立ちます。

スコープ: グローバルのみ
1819 Azure ブロック BLOB にアクセスするときに、URL へのバックアップでプロキシ サーバーを利用できるようにします。 このトレース フラグに加えて、次のいずれかの方法を使用して、サーバーで WinHTTP プロキシ構成を設定する必要があります。

- Windows XP または Windows Server 2003 以前の場合は proxycfg.exe ユーティリティ。
- Windows Vista および Windows Server 2008 以降の場合は netsh.exe ユーティリティ。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2301 意思決定支援クエリに固有の高度な意思決定支援の最適化を有効にします。 このオプションは、大規模なデータ セットの意思決定支援処理に適用されます。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2312 データベースの互換性レベルに応じて、クエリ オプティマイザーのカーディナリティ推定モデルを SQL Server 2014 (12.x) 以降のバージョンに設定します。

注: データベースの互換性レベルが 120 未満の場合、トレース フラグ 2312 を有効にすることにより SQL Server 2014 (12.x) (120) のカーディナリティ推定モデルが使用されます。 詳しくは、Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION' クエリ ヒントを追加します。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2335 max server memory サーバー構成が非常に高く設定されていて、SQL Server で特定のクエリに対して非効率なプランが生成されるようなシナリオでは、SQL Server がクエリ最適化中に固定量のメモリがあるものと想定するようになります。 SQL Server がクエリ実行に許可するメモリを制限することはありません。 SQL Server 用に構成されたメモリは、やはり、データ キャッシュ、クエリ実行、その他のコンシューマーによって使われます。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2340 SQL Server は、クエリ プランを生成するときに、最適化された入れ子になったループ結合に対して並べ替え操作 (バッチ ソート) を使わなくなります。 既定では、並べ替えが必要とされる可能性が低い一方で、カーディナリティまたはコストの見積もりが正しくない場合には可能性があるとクエリ オプティマイザーによって判断された場合、SQL Server では、フル スキャンまたは Sort を明示的に指定したネステッド ループ結合ではなく、最適化されたネステッド ループ結合を使用できます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2371 固定の統計の更新しきい値を、線形の統計の更新しきい値に変更します。 詳細については、AUTO_UPDATE_STATISTICS オプションに関する記事を参照してください。

注: SQL Server 2016 (13.x) 以降、および データベース互換性レベル 130 以上では、この動作はエンジンによって制御されるようになり、トレース フラグ 2371 に効力はありません。

スコープ: グローバルのみ
2389 昇順キー (ヒストグラム修正) に対して、自動生成されたクイック統計情報を有効にします。 トレース フラグ 2389 を設定し、先頭の統計情報列を昇順としてマークすると、カーディナリティの推定に使われるヒストグラムがクエリのコンパイル時に調整されます。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

注: このトレース フラグは CE バージョン 120 以上には適用されません。 トレース フラグ 4139 を代わりに使ってください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2390 昇順キーまたは不明キー (ヒストグラム修正) に対して、自動生成されたクイック統計情報を有効にします。 トレース フラグ 2390 を設定し、先頭の統計情報列を昇順または不明としてマークすると、カーディナリティの推定に使われるヒストグラムがクエリのコンパイル時に調整されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

注: このトレース フラグは CE バージョン 120 以上には適用されません。 トレース フラグ 4139 を代わりに使ってください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2422 Resource Governor の REQUEST_MAX_CPU_TIME_SEC の構成によって設定されている最大時間を超えたときに、SQL Server データベース エンジン が要求を中止できるようにします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは SQL Server 2016 (13.x) SP2、SQL Server 2017 (14.x) CU3 以降のビルドに適用されます。

スコープ: グローバル
2430 代替ロック クラスのクリーンアップを有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
2451 sys.dm_exec_query_plan_stats の、最後の実際の実行プランと同等のものが有効になります。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

注: SQL Server 2019 (15.x) 以降に、データベース レベルでこれを行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の LAST_QUERY_PLAN_STATS オプションをご覧ください。

スコープ: グローバルのみ
2453 十分な数の行が変更されたときに、テーブル変数が再コンパイルをトリガーできるようにします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2467 どのノードのスレッド割り当てが最も少ないかに基づいて、代替の並列ワーカー スレッド割り当てポリシーを有効にします。 詳細については、「並列クエリ処理」をご覧ください。 max worker threads サーバー オプションの構成に関する情報については、「max worker threads サーバー構成オプションの構成」を参照してください。

注: この代替ポリシーを使用するには、クエリの並列処理の次数 (DOP) が 1 つのノードに収まる必要があります。そうでない場合は、既定のスレッド割り当てポリシーが代わりに使用されます。 このトレース フラグを使用する場合、1 つのノードのスケジューラの数を超える DOP を指定するクエリを実行することはお勧めしません。これは、1 つのノードのスケジューラの数以下の DOP を指定するクエリと競合するためです。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバルのみ
2469 パーティション分割されている列ストア インデックスで、INSERT INTO ... SELECT の代替交換を有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
2528 DBCC CHECKDB、DBCC CHECKFILEGROUP、および DBCC CHECKTABLE によるオブジェクトの並列検査を無効にします。 既定では、並列処理の次数はクエリ プロセッサによって自動的に決定されます。 並列処理の最大限度は並列クエリと同様に構成します。 詳細については、「 max degree of parallelism サーバー構成オプションの構成」を参照してください。

注: 通常、並列 DBCC チェックは有効になっています (既定値)。 クエリ プロセッサは、DBCC CHECKDB によってチェックされるテーブルまたはテーブルの集合ごとに、並列処理を再評価して自動的に調節します。

一般的な使用シナリオは、DBCC CHECKDB が完了する前にサーバーの負荷が増加することをシステム管理者が認識し、他のユーザーのワークロードでのコンカレンシーを高めるために、並列処理を手動で減らしたり無効にしたりする場合です。 ただし、DBCC CHECKDB での並列チェックを無効にすると、完了までの時間が長くなる場合があります。

注: TABLOCK オプションを使って DBCC CHECKDB を実行していて、並列処理が無効になっている場合は、テーブルが長時間ロックされる可能性があります。

注: SQL Server 2014 (12.x) SP2 以降では、DBCC ステートメントの sp_configure の最大並列度構成オプションを、MAXDOP オプションでオーバーライドできます。

スコープ: グローバル、セッション
2549 各データベース ファイルが固有のディスク ドライブにあるものとし、一方で複数の物理ファイルを 1 つの論理ファイルとして扱うものとするために、DBCC CHECKDB コマンドを強制実行します。 DBCC CHECKDB コマンドは、すべてのデータベース ファイルについて、固有のディスク ドライブごとに読み取るページの内部リストを作成します。 このロジックは、各ファイルの物理ファイル名のドライブ文字を基にして固有のディスク ドライブを決定します。

注: 各ファイルが固有の物理ディスクに基づくことがわかっている場合を除き、このトレース フラグを使わないでください。

注: このトレース フラグを指定すると、PHYSICAL_ONLY オプションの使用を対象とする DBCC CHECKDB コマンドのパフォーマンスが向上しますが、ユーザーによってはパフォーマンスが向上しないことがあります。 このトレース フラグではディスク I/O のリソース使用率が向上しますが、基になっているディスク リソースのパフォーマンスにより、DBCC CHECKDB コマンドの全体的なパフォーマンスが制限される場合があります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
2562 データベース内のインデックスの数に関係なく、1 回の "バッチ" で DBCC CHECKDB コマンドを実行します。 既定では、DBCC CHECKDB コマンドは、"バッチ" の概念を使って、生成されるインデックスまたは "ファクト" の数を制限することにより、TempDB リソースを最小限に抑えようとします。 ただしこのトレース フラグは、すべての処理を 1 つのバッチで強制的に実行します。

このトレース フラグを使ったときの影響の 1 つは、TempDB に必要な領域が増える可能性があることです。 TempDB は、DBCC CHECKDB コマンドによって処理されているユーザー データベースの 5% 以上に拡大することがあります。

注: このトレース フラグを指定すると、PHYSICAL_ONLY オプションの使用を対象とする DBCC CHECKDB コマンドのパフォーマンスが向上しますが、ユーザーによってはパフォーマンスが向上しないことがあります。 このトレース フラグではディスク I/O のリソース使用率が向上しますが、基になっているディスク リソースのパフォーマンスにより、DBCC CHECKDB コマンドの全体的なパフォーマンスが制限される場合があります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
2566 DATA_PURITY オプションが指定されていない場合は、データ純粋性チェックなしで DBCC CHECKDB コマンドを実行します。

注: 列の値の整合性チェックは既定で有効になっているため、DATA_PURITY オプションを指定する必要はありません。 以前のバージョンの SQL Server からアップグレードしたデータベースの場合は、データベースで DBCC CHECKDB WITH DATA_PURITY が少なくとも 1 回はエラーなしで実行されるまで、列の値のチェックは既定では有効になりません。 エラーなく実行されると、その後、DBCC CHECKDB は既定で列の値の整合性をチェックします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
2592 Windows 用のデバッグ ツール がインストールされるときに、スタック ダンプでのシンボルの解決を有効にします。 たとえば、トレース フラグ 3656 を使用するには、トレース フラグ 2592 が有効になっている必要があります。

警告: これはデバッグ トレース フラグで、運用環境での使用には適していません。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

スコープ: グローバル、セッション
3023 BACKUP コマンドの既定値として CHECKSUM オプションを有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2014 (12.x) 以降では、この動作は backup checksum default 構成オプションを設定することによって制御されます。 詳細については、「 サーバー構成オプション (SQL Server)」を参照してください。

スコープ: グローバル、セッション
3042 既定のバックアップ圧縮の事前割り当てアルゴリズムをバイパスして、最終的なサイズに到達するまで、必要な場合にのみバックアップ ファイルが拡張されるようにします。 このトレース フラグは、圧縮されたバックアップに実際に必要なサイズだけを割り当てることによって、容量を節約する必要がある場合に便利です。 このトレース フラグを使用すると、わずかなパフォーマンスの低下 (バックアップ操作の期間が長くなる可能性) が発生することがあります。 事前割り当てアルゴリズムについて詳しくは、「バックアップの圧縮 (SQL Server)」をご覧ください。

スコープ: グローバルのみ
3051 特定のエラー ログ ファイルに対して SQL Server の Backup to URL ログを有効にします。 詳しくは、「SQL Server Backup to URL に関するベスト プラクティスとトラブルシューティング」をご覧ください。

スコープ: グローバルのみ
3205 既定では、テープ ドライブでハードウェア圧縮がサポートされている場合、DUMP または BACKUP ステートメントではハードウェア圧縮が行われます。 このトレース フラグを使用すると、テープ デバイスのハードウェア圧縮を無効にできます。 この機能は、圧縮がサポートされていないサイトやテープ ドライブとの間でテープを交換する場合に便利です。

スコープ: グローバル、セッション
3226 既定では、バックアップ操作が成功するたびに、 SQL Server エラー ログおよびシステム イベント ログにエントリが 1 つ追加されます。 頻度の高いログ バックアップを作成すると、これらの成功メッセージがすぐに蓄積され、他のメッセージを探すのが困難になるほどエラー ログが大きくなることがあります。

このトレース フラグを使用すると、これらのログ エントリを除外できます。 この機能は、頻度の高いログ バックアップを実行している場合やスクリプトがこれらのエントリに依存していない場合に役立ちます。

スコープ: グローバルのみ
3427 SQL Server 2016 (13.x) で多数の連続するトランザクションによって一時テーブルにデータが挿入される場合に、この操作により SQL Server 2014 (12.x) よりも多くの CPU が消費される問題の修正を有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2016 (13.x) SP1 CU2 から SQL Server 2016 (13.x) SP2 CU2 に適用されます。 SQL Server 2016 (13.x) SP2 CU3 および SQL Server 2017 (14.x) 以降では、このトレース フラグによる影響はありません。

スコープ: グローバルのみ
3459 並列再実行を無効にします。 詳しくは、こちらの Microsoft サポート技術情報および Microsoft サポート技術情報を参照してください。

注: このトレース フラグは、SQL Server 2016 (13.x)、SQL Server 2017 (14.x) 以降のビルドに適用されます。

スコープ: グローバルのみ
3468 TempDB で間接チェックポイントを無効にします。

注: このトレース フラグは、SQL Server 2016 (13.x) SP1 CU5、SQL Server 2017 (14.x) CU1、およびそれ以降のビルドに適用されます。

スコープ: グローバルのみ
3605 トレース メッセージを SQL Server のエラー ログにリダイレクトします。 たとえば、トレース フラグ 205 と 8721 を使用するには、トレース フラグ 3605 が有効になっている必要があります。

警告: これはデバッグ トレース フラグであり、運用環境で継続的に有効にするためのものではありません。

スコープ: グローバル、セッション
3608 SQL Server で、master データベース以外のすべてのデータベースを自動的に開始および復旧しないようにします。 TempDB を必要とする操作が開始されると、model が復旧され、TempDB が作成されます。 他のデータベースはアクセス時に開始および復旧されます。 スナップショット分離や READ COMMITTED スナップショットなど、一部の機能を使用できない場合があります。 システム データベースの移動ユーザー データベースの移動の場合に使用します。

注: 通常の運用中は使用しないでください。

スコープ: グローバルのみ
3625 "******" を使用する一部のエラー メッセージのパラメーターをマスクすることによって、sysadmin 固定サーバー ロールのメンバーでないユーザーに返される情報の量を制限します。 これは、機密情報の公開を防ぐために役立ちます。

スコープ: グローバルのみ
3656 Windows 用のデバッグ ツールがインストールされるときに、スタック ダンプでのシンボルの解決を有効にします。

警告: これはデバッグ トレース フラグで、運用環境での使用には適していません。

注: SQL Server 2019 (15.x) 以降、シンボルの解決を有効にするには、トレース フラグ 3656 と組み合わせてトレース フラグ 2592 を有効にする必要があります。

スコープ: グローバル、セッション
3924 SPID=-2 を使用して孤立した DTC トランザクションの自動削除を有効にします。これは、一部のサード パーティ製トランザクション モニターで問題になることがあります。 詳しくは、こちらの Microsoft サポート技術情報および Microsoft サポート技術情報を参照してください。

スコープ: グローバルのみ
4022 SQL Server を開始する際のストアド プロシージャの自動実行を無効にします。 スタートアップ時のストアド プロシージャの自動実行について詳しくは、sp_procoption に関する記事をご覧ください

スコープ: グローバルのみ
4136 OPTION(RECOMPILE)、WITH RECOMPILE、または OPTIMIZE FOR <value> が使われていない場合、パラメーター スニッフィングを無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) 以降に、データベース レベルでこの処理を行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の PARAMETER_SNIFFING オプションを参照してください。

クエリ レベルで同じ結果を達成するには、OPTIMIZE FOR UNKNOWN クエリ ヒントを追加します。 OPTIMIZE FOR UNKNOWN ヒントではパラメーター スニッフィングのメカニズムは無効にされませんが、意図した同じ結果を達成するために効果的にバイパスされます。
SQL Server 2016 (13.x) SP1 以降では、クエリ レベルでこれを行うもう 1 つのオプションとして、このトレース フラグの代わりに、USE HINT 'DISABLE_PARAMETER_SNIFFING' クエリ ヒントを追加することもできます。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション
4137 SQL Server 2012 (11.x) 以前のバージョン (70) のクエリ オプティマイザー カーディナリティ推定モデルにおいて、依存関係の代わりに部分的相関関係を考慮するためにフィルターの AND 述語を推定するときに、SQL Server で最低限の選択度を使ってプランが生成されるようにします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降では、これをクエリ レベルで達成するためには、CE 70 の使用時にこのトレース フラグを使用する代わりに、USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

注: このトレース フラグは CE バージョン 120 以上には適用されません。 トレース フラグ 9471 を代わりに使ってください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
4138 TOP、OPTION (FAST N)、IN、EXISTS のいずれかのキーワードを含むクエリで行の目標の調整を使用しないプランを SQL Server に生成させます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'DISABLE_OPTIMIZER_ROWGOAL' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
4139 キー列の状態に関係なく、自動生成されるクイック統計情報 (ヒストグラム修正) を有効にします。 トレース フラグ 4139 を設定すると、先頭の統計情報列の状態 (昇順、降順、または定常) に関係なく、カーディナリティの推定に使われるヒストグラムがクエリのコンパイル時に調整されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降では、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

注: このトレース フラグは CE バージョン 70 には適用されません。 代わりにトレース フラグ 2389 および 2390 を使ってください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
4199 SQL Server の累積的な更新プログラムと Service Pack でリリースされたクエリ オプティマイザー (QO) の修正プログラムを有効にします。

SQL Server の以前のリリースで行われた QO の変更は、特定の製品リリースの最新のデータベース互換性レベルでは、トレース フラグ 4199 を有効にしなくても、既定で有効になります。

次の表は、特定のデータベース互換性レベルおよびトレース フラグ 4199 を使った場合の動作をまとめたものです。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

データベース エンジン (DE) のバージョンデータベース互換レベルTF 4199すべての以前のデータベース互換レベルからの QO の変更DE バージョンの RTM 後の QO の変更
13 (SQL Server 2016 (13.x))100 ~ 120Off無効無効
OnEnabledEnabled
130 (既定値)OffEnabled無効
OnEnabledEnabled
14 (SQL Server 2017 (14.x))100 ~ 120Off無効無効
OnEnabledEnabled
130OffEnabled無効
OnEnabledEnabled
140 (既定値)OffEnabled無効
OnEnabledEnabled
15 (SQL Server 2019 (15.x)) と 12 (Azure SQL データベース)100 ~ 120Off無効無効
OnEnabledEnabled
130 から 140OffEnabled無効
OnEnabledEnabled
150 (既定値)OffEnabled無効
OnEnabledEnabled


SQL Server 2016 (13.x) 以降に、データベース レベルでこれを行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の QUERY_OPTIMIZER_HOTFIXES オプションを参照してください。

SQL Server 2016 (13.x) SP1 以降では、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES' クエリ ヒントを追加します。

重要: 間違った結果やアクセス違反エラーに対処するクエリ オプティマイザーの修正プログラムは、トレース フラグ 4199 では有効にされません。 これらの修正プログラムはオプションと見なされておらず、更新プログラム パッケージがインストールされると、既定で有効になります。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
4610 キャッシュ エントリを格納するハッシュ テーブルのサイズを 8 倍に増やします。 トレース フラグ 4618 と共に使うと、TokenAndPermUserStore キャッシュ ストアのエントリの数が 8,192 に増えます。 詳しくは、こちらの Microsoft サポート技術情報およびこちらの Microsoft サポート技術情報を参照してください。

スコープ: グローバルのみ
4616 アプリケーション ロールに対して、サーバー レベルのメタデータを参照可能にします。 SQL Server では、アプリケーション ロールはサーバーレベルのプリンシパルに関連付けられていないため、所有するデータベース外のメタデータにはアクセスできません。 これは、以前のバージョンの SQL Serverの動作から変更されています。 このグローバル フラグを設定すると、新しい制限は無効になり、アプリケーション ロールはサーバーレベルのメタデータにアクセスできるようになります。

スコープ: グローバルのみ
4618 TokenAndPermUserStore キャッシュ ストアのエントリの数を、1,024 に制限します。 トレース フラグ 4610 と共に使うと、TokenAndPermUserStore キャッシュ ストアのエントリの数が 8,192 に増えます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
4621 TokenAndPermUserStore キャッシュ ストア内のエントリの数を、ユーザーがレジストリ キーで指定した数に制限します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
5004 TDE 暗号化スキャンを一時停止し、暗号化スキャン ワーカーを何もしないで終了させます。 データベースは、暗号化中状態 (暗号化が進行中) のままになります。 再暗号化スキャンを再開するには、トレース フラグ 5004 を無効にして、ALTER DATABASE <データベース名> SET ENCRYPTION ON を実行します。

スコープ: グローバルのみ
6498 十分なメモリが使用可能な場合、複数の大きなクエリ コンパイルが大規模ゲートウェイにアクセスできるようにします。 このトレース フラグは、受信クエリをコンパイルするときのメモリ使用量の制御に使用できるため、同時発生した大きなクエリのコンパイルの待機を回避できます。 SQL Server ターゲット メモリの 80 パーセントが基準であり、25 ギガバイト (GB) のメモリごとに 1 つの大きなクエリ コンパイルが許可されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2014 (12.x) SP2 および SQL Server 2016 (13.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 6498 に効力はありません。

スコープ: グローバルのみ
6527 CLR 統合でメモリ不足例外が最初に発生した場合のメモリ ダンプの生成を無効にします。 既定では、SQL Server は CLR でメモリ不足の例外が初めて発生したときに小さいメモリ ダンプを生成します。 トレース フラグの動作は次のとおりです。
  • スタートアップ トレース フラグとして使用される場合、メモリ ダンプは生成されません。 ただし、その他のトレース フラグが使用されると、メモリ ダンプが生成される場合があります。
  • このトレース フラグが実行中のサーバーで有効になっている場合、メモリ ダンプはその時点から自動的には生成されなくなります。 ただし、CLR のメモリ不足例外のためにメモリ ダンプが既に生成されている場合は、このトレース フラグの効果はありません。

スコープ: グローバルのみ
6532 SQL Server 2012 (11.x) および SQL Server 2014 (12.x) の空間データ型で、クエリ操作のパフォーマンスを向上できるようにします。 パフォーマンスがどの程度向上するかは、構成、クエリの種類、およびオブジェクトによって異なります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2016 (13.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 6532 に効力はありません。

スコープ: グローバル、セッション
6533 SQL Server 2012 (11.x) および SQL Server 2014 (12.x) の空間データ型で、クエリ操作のパフォーマンスを向上できるようにします。 パフォーマンスがどの程度向上するかは、構成、クエリの種類、およびオブジェクトによって異なります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2016 (13.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 6533 に効力はありません。

スコープ: グローバル、セッション
6534 SQL Server 2012 (11.x)、SQL Server 2014 (12.x)、および SQL Server 2016 (13.x) の空間データ型で、クエリ操作のパフォーマンスを向上できるようにします。 パフォーマンスがどの程度向上するかは、構成、クエリの種類、およびオブジェクトによって異なります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
6545 CLR strict security を有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2012 (11.x) SP3 CU10、SQL Server 2014 (12.x) SP2 CU6、SQL Server 2016 (13.x) RTM CU7、SQL Server 2016 (13.x) SP1 CU4、およびそれ以降のビルドに適用されます。 SQL Server 2017 (14.x) 以降、この機能は既定で有効になり、トレース フラグ 6545 は無効になります。

スコープ: グローバルのみ
7314 有効桁数/小数点以下桁数が不明な NUMBER 値を、OLE DB プロバイダーで倍精度の値として強制的に処理します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション
7412 軽量のクエリ実行統計プロファイリング インフラストラクチャを有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2016 (13.x) SP1 以降のビルドに適用されます。 SQL Server 2019 (15.x) 以降、軽量プロファイリングが既定で有効になるため、このトレース フラグには効果はありません。

スコープ: グローバルのみ
7470 並べ替え操作に必要なメモリ許可の追加の計算を有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2012 (11.x) SP2 CU8、SQL Server 2014 (12.x) RTM CU10、SQL Server 2014 (12.x) SP1 CU3、およびそれ以降のビルドに適用されます。

警告: トレース フラグ 7470 を使用すると、並べ替え演算子を使用するクエリのメモリ要件が増え、他の同時実行クエリのメモリの可用性に影響を与える可能性があります。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
7471 1 つのテーブルの異なる統計情報に対して複数の UPDATE STATISTICS を同時に実行できるようにします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2014 (12.x) SP1 以降のビルドに適用されます。

スコープ: グローバルのみ
7745 データベースのシャットダウン時にクエリ ストアがデータをディスクにフラッシュしないように強制します。

注: このトレースを使うと、以前にディスクにフラッシュされていないクエリ ストアのデータが、シャットダウン時に失われる可能性があります。 SQL Server のシャットダウンでは、このトレース フラグの代わりに SHUTDOWN WITH NOWAIT コマンドを使って、即時シャットダウンを強制できます。

スコープ: グローバルのみ
7752 クエリ ストアの非同期読み込みを有効にします。

注: クエリ ストアの同期読み込み (データベース復旧時の既定の動作) に関連して、SQL Server で多数の QDS_LOADDB 待機が発生している場合は、このトレース フラグを使います。

注: SQL Server 2019 (15.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 7752 に効力はありません。

スコープ: グローバルのみ
7806 SQL Server Expressで専用管理者接続 (DAC) を有効にします。 既定では、SQL Server Express で予約されている DAC リソースはありません。 詳細については、「 データベース管理者用の診断接続」を参照してください。

スコープ: グローバルのみ
8011 リソース モニターのリング バッファーを無効にします。 このリング バッファーの診断情報を使用して、メモリ不足の状態を診断できます。 そのため、このトレース フラグを使用すると、SQL Server に関するパフォーマンスや機能の問題を診断するために使用できる情報が大幅に減少します。 トレース フラグ 8011 は、常にサーバー全体に適用され、グローバル スコープが設定されます。 トレース フラグ 8011 は、起動時またはユーザー セッションで有効にすることができます。

スコープ: グローバル
8012 スケジューラのリング バッファーを無効にします。 次のいずれかのイベントが発生するたびに、SQL Server はスケジュール リング バッファーにイベントを記録します。
- スケジューラがコンテキストを別のワーカーに切り替える
- ワーカーが中断された
- ワーカーが再開された
- ワーカーがプリエンプティブ モードまたは非プリエンプティブ モードに入る

このリング バッファーの診断情報を使用して、スケジューリングの問題を分析できます。 たとえば、このリング バッファーの情報を使用して、SQL Server が応答を停止したときの問題をトラブルシューティングできます。 トレース フラグ 8012 は、スケジューラのイベントの記録を無効にします。 トレース フラグ 8012 は、起動時にのみ有効にすることができます。

警告: このトレース フラグを使用すると、SQL Server に関するパフォーマンスや機能の問題を診断するために使用できる情報が大幅に減少します。

スコープ: グローバルのみ
8015 自動検出と NUMA の設定を無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
8018 例外リング バッファーを無効にします。 例外リング バッファーには、ノードで発生した最後の 256 例外が記録されます。 各レコードには、エラーに関する情報が含まれており、スタック トレースが含まれています。 例外が発生すると、レコードがリング バッファーに追加されます。 トレース フラグ 8018 は、リング バッファーの作成を無効にします。例外情報は何も記録されません。 トレース フラグ 8019 は、レコードの作成中にスタック コレクションを無効にします。

警告: このトレース フラグを使用すると、SQL Server に関するパフォーマンスや機能の問題を診断するために使用できる情報が大幅に減少します。

スコープ: グローバルのみ
8019 例外リング バッファーのスタック コレクションを無効にします。 トレース フラグ 8018 が有効になっている場合、トレース フラグ 8019 は効果がありません。

警告: このトレース フラグを使用すると、SQL Server に関するパフォーマンスや機能の問題を診断するために使用できる情報が大幅に減少します。

スコープ: グローバルのみ
8020 ワーキング セットの監視を無効にします。 SQL Server はオペレーティング システムからグローバル メモリ状態のシグナルを受信するときに、ワーキング セットのサイズを使用します。 トレース フラグ 8020 は、SQL Server がグローバル メモリ状態のシグナルを解釈するときに、ワーキング セット メモリのサイズを考慮しません。 このトレース フラグを誤って使用すると、大量のページングが発生し、パフォーマンスが低下する可能性があります。 そのため、トレース フラグ 8020 を有効にする前に Microsoft サポートにお問い合わせください。 トレース フラグ 8020 は、起動時にのみ有効にすることができます。

スコープ: グローバルのみ
8032 キャッシュ制限パラメーターを SQL Server 2005 (9.x) RTM の設定に戻します。これにより、一般に、より大きいキャッシュに対応できるようになります。 この設定は、頻繁に再利用されるキャッシュ エントリがキャッシュに収まらない場合や、サーバー構成オプション [アドホック ワークロードの最適化] でプラン キャッシュの問題を解決できない場合に使用します。

警告: トレース フラグ 8032 を使用した場合、キャッシュが大きいために他のメモリ コンシューマー (バッファー プールなど) で利用できるメモリが少なくなると、パフォーマンスが低下することがあります。

スコープ: グローバルのみ
8048 NUMA パーティション分割のメモリ オブジェクトを CPU パーティション分割に変換します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2014 (12.x) SP2 および SQL Server 2016 (13.x) 以降では、この動作は動的であり、エンジンによって制御されます。

スコープ: グローバルのみ
8075 64 ビット SQL Server 2012 (11.x) または SQL Server 2014 (12.x) でメモリ ページの割り当てエラーが発生したときに、VAS の断片化を減らします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2012 (11.x)、SQL Server 2014 (12.x) RTM CU10、および SQL Server 2014 (12.x) SP1 CU3 に適用されます。 SQL Server 2016 (13.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 8075 に効力はありません。

スコープ: グローバルのみ
8079 SQL Server 2014 (12.x) SP2 がハードウェア レイアウトを調査し、NUMA ノードあたり 8 個以上の CPU をレポートしたシステムにソフト NUMA を自動的に構成できるようにします。 自動ソフト NUMA の動作は、ハイパースレッド (HT/論理プロセッサ) に対応しています。 パーティション分割と追加ノードの作成により、リスナーの数の増加、スケーリング、およびネットワークと暗号化機能の向上により、バックグラウンド処理が拡張されます。

注: このトレース フラグは、SQL Server 2014 (12.x) SP2 に適用されます。 SQL Server 2016 (13.x) 以降では、この動作はエンジンによって制御されるようになり、トレース フラグ 8079 に効力はありません。

スコープ: グローバルのみ
8089 SQL Server 2017 (14.x) CU16 では、フィルター処理されたメモリ ダンプのサイズを小さくするためのビットマップ フィルターを有効にすることができます。 SQL Server によってビットマップが割り当てられ、フィルター処理されたダンプから除外する対象のメモリ ページが追跡されます。 Sqldumper.exe でビットマップが読み取られ、ページがフィルターで除外されます。他のメモリ マネージャー メタデータの読み取りは必要ありません。

注: このトレース フラグは、SQL Server 2017 (14.x) CU16 から CU19 のみに適用されます。 SQL Server 2017 (14.x) CU20 以降は、ビットマップ フィルターが既定で有効になっています。 トレース フラグ 8089 は適用されなくなり、有効になっている場合は無視されます。 ビットマップ フィルターは、トレース フラグ 8095 を使用して無効にすることができます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
8095 フィルター処理されたメモリ ダンプのビットマップ フィルターを無効にします。 SQL Server によってビットマップが割り当てられ、フィルター処理されたダンプから除外する対象のメモリ ページが追跡されます。 Sqldumper.exe でビットマップが読み取られ、ページがフィルターで除外されます。他のメモリ マネージャー メタデータの読み取りは必要ありません。

注: このトレース フラグは、ビットマップ フィルターが既定で有効になっているビルドに適用されます: SQL Server 2016 (13.x) CU13 以降、SQL Server 2017 (14.x) CU20 以降、および SQL Server 2019 (15.x)。

スコープ: グローバルのみ
8099 多数の同時ユーザーにサービスを提供する SQL Server 2019 (15.x) を実行するハイエンド システムで、スピンロックの競合修正プログラムを有効にします。

注: このトレース フラグは、SQL Server 2019 (15.x) CU2 および CU3 にのみ適用されます。 SQL Server 2019 (15.x) CU4 以降では、この動作は既定で有効になります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
8207 トランザクション レプリケーションと CDC に対して単一の更新を有効にします。 サブスクライバーへの更新は、DELETE と INSERT のペアとしてレプリケートできます。 これは、UPDATE トリガーの起動など、ビジネス ルールを満たさない場合があります。 トレース フラグ 8207 を使用すると、1 行 (シングルトンの更新) のみに影響する一意の列への更新は、DELETE または INSERT のペアとしてではなく、UPDATE としてレプリケートされます。 一意の制約が存在する列に更新が影響を与える場合、または更新が複数行に影響する場合、更新は引き続き DELETE または INSERT のペアとしてレプリケートされます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
8721 統計の自動更新を実行するときに、エラー ログにレポートします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグを有効にするには、トレース フラグを 3605 にする必要があります。

スコープ: グローバルのみ
8744 入れ子になったループ演算子のプリフェッチを無効にします。

警告: このトレース フラグの使用が不適切な場合、SQL Server が入れ子になったループ演算子を含むプランを実行するときに、追加の物理読み取りが発生する可能性があります。

スコープ: グローバル、セッション
9024 グローバル ログ プールのメモリ オブジェクトを、NUMA ノードのパーティション分割されたメモリ オブジェクトに変換します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: SQL Server 2012 (11.x) SP3 および SQL Server 2014 (12.x) SP1 以降、この動作はエンジンによって制御されるようになり、トレース フラグ 9024 に効力はありません。

スコープ: グローバルのみ
9109 クエリ通知機能の開始を無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

警告: このトレース フラグを使用する場合は注意してください。 このトレース フラグは、限られた一連のシナリオで、主に問題のトラブルシューティングや特定を行うために役立つ場合があります。

スコープ: グローバル、セッション
9347 Sort 演算子のバッチ モードを無効にします。 SQL Server 2016 (13.x) では、多くの分析クエリのパフォーマンスが向上する新しいバッチ モード Sort 演算子が導入されています。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9348 クエリ オプティマイザーのカーディナリティの推定を使用して、クラスター化列ストア インデックスの BULK INSERT を開始する必要があるかどうかを決定できるようにします。 挿入する行の推定数が 102,400 未満の場合、データベース エンジン により BULK INSERT が使用されます。 推定数が 102,400 行を超えると、BULK INSERT が開始されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9349 Top N Sort 演算子のバッチ モードを無効にします。 SQL Server 2016 (13.x) では、多くの分析クエリのパフォーマンスが向上する新しいバッチ モード top sort 演算子が導入されています。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9358 Sort 演算子のバッチ モードを無効にします。 詳細については、Microsoft サポート記事を参照してください。

注: SQL Server 2017 (14.x) 以降、この機能は既定で有効になり、このトレース フラグは何の影響もありません。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9389 バッチ モード演算子の追加の動的なメモリ許可を有効にします。 クエリが必要なすべてのメモリを取得できない場合、データが TempDB に書き込まれることで I/O が増加し、クエリのパフォーマンスに影響する可能性があります。 動的メモリ許可トレース フラグを有効にすると、バッチ モード演算子は追加メモリを要求でき、追加メモリが使用可能な場合に TempDB への書き込みが回避されます。 詳細については、「メモリ管理アーキテクチャ ガイド」の クエリごとの最小メモリの効果 に関するセクションを参照してください。

スコープ: グローバル、セッション
9398 適応型結合演算子を無効にします。この演算子は、SQL Server 2017 (14.x) で導入され、最初の入力のスキャンが終わるまで、ハッシュ結合方法または入れ子になったループ結合方法のどちらを選ぶかを、遅延することができます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9410 ハッシュ集計演算子とスピルを使用するクエリに対して、既定以外の修正を有効にします。 このトレース フラグを有効にすると、個別のハッシュ操作で使用可能なメモリが増加します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9453 バッチ モード実行を無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9471 SQL Server 2014 (12.x) 以降のバージョンのクエリ オプティマイザーカーディナリティ推定モデルにおいて、SQL Server が単一テーブル フィルターの最小限の選択性を使ってプランを生成するようになります。

SQL Server 2016 (13.x) SP1 以降では、クエリ レベルでこれを行うには、このトレース フラグを使う代わりに、USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

注: このトレース フラグは CE バージョン 70 には適用されません。 トレース フラグ 4137 を代わりに使ってください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9476 SQL Server 2014 (12.x) 以降のバージョンのクエリ オプティマイザーカーディナリティ推定モデルにおいて、既定の基本含有の推定の代わりに単純な含有の推定を使って、SQL Server にプランを生成させます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) SP1 以降では、クエリ レベルでこれを行うには、このトレース フラグを使う代わりに、USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS' クエリ ヒントを追加します。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9481 データベースの互換性レベルに関係なく、クエリ オプティマイザー カーディナリティ推定モデルを SQL Server 2012 (11.x) 以前のバージョンに設定できます。 詳しくは、Microsoft サポート技術情報をご覧ください。

SQL Server 2016 (13.x) 以降にデータベース レベルでこれを行う方法については、「ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)」の LEGACY_CARDINALITY_ESTIMATION オプションをご覧ください。

SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、このトレース フラグの代わりに、USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION' クエリ ヒントを追加します。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9485 DBCC SHOW_STATISTICS に対する SELECT 権限を無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
9488 SQL Server 2012 (11.x) 以降のバージョンのクエリ オプティマイザー カーディナリティ推定モデルを使用する場合、テーブル値関数の固定の推定を既定値の 1 に設定します (SQL Server 2008 R2 以前のバージョンのクエリ オプティマイザー カーディナリティ推定モデルでの既定値に対応します)。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9495 INSERT...SELECT 操作の挿入の間に並列処理を無効にして、ユーザー テーブルと一時テーブルの両方に適用します。 詳しくは、Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション
9567 自動シード処理時の Always On 可用性グループのデータ ストリーム圧縮を有効にします。 自動シードの処理中、圧縮によって転送時間が大幅に短縮され、プロセッサの負荷が増大します。 詳しくは、「AlwaysOn 可用性グループを自動的に初期化する」および「可用性グループの圧縮の調整」をご覧ください。

スコープ: グローバル、セッション
9571 既定のデータベース パスに対する可用性グループの自動シード処理を無効にします。 詳細については、「ディスク レイアウト」を参照してください。

スコープ: グローバル、セッション
9576 SQL Server 2016 (13.x) SP1 CU10、SQL Server 2016 (13.x) SP2 CU2、および SQL Server 2017 (14.x) CU9 で導入された可用性グループのフェールオーバー用の強化されたエラー収集を無効にします。 詳細については、「SQL Server の可用性グループ – 強化されたデータベース レベルのフェールオーバー」を参照してください。

スコープ: グローバルのみ
9591 Always On 可用性グループでのログ ブロック圧縮を無効にします。 ログ ブロック圧縮は、SQL Server 2012 (11.x) および SQL Server 2014 (12.x) の同期および非同期レプリカの両方で使われる既定の動作です。 SQL Server 2016 (13.x) の圧縮は、非同期レプリカでのみ使われます。

スコープ: グローバル、セッション
9592 同期可用性グループのログ ストリーム圧縮を有効にします。 この機能は、圧縮によって待機時間が長くなるため、同期可用性グループでは既定で無効にされています。 詳細については、「 Tune compression for availability group」(可用性グループの圧縮を調整する) を参照してください。

スコープ: グローバル、セッション
9929 インメモリ チェックポイント ファイルをそれぞれ 1 MB に削減します。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
9939 SQL Server 2016 (13.x) での DML 操作のターゲットになっていない場合、メモリ最適化テーブルまたはテーブル変数を参照する DML 操作で、メモリ最適化テーブルおよびテーブル変数の並列プランと並列スキャンを有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: トレース フラグ 4199 が明示的に有効になっている場合、トレース フラグ 9939 は必要ありません。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
9944 データベースに多数のメモリ最適化テーブルまたはメモリ最適化テーブルの種類があり、待機の種類 PREMPTIVE_OS_FINDFILE または PREEMPTIVE_OS_CREATEDIRECTORY によるブロックが発生する可能性がある場合、遅いデータベース回復時間に対応する既定以外の修正を有効にします。 詳しくは、こちらの Microsoft サポート技術情報およびこちらの Microsoft サポート技術情報を参照してください。

スコープ: グローバルのみ
10054 OR 述語内のサブクエリを外部結合に相関解除する SQL Server クエリ オプティマイザー ルールを無効にします。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

注: このオプションは、運用環境に展開する前に十分にテストしてください。

スコープ: グローバル、セッション、クエリ (QUERYTRACEON)
10204 列ストア インデックスの再編成中に、マージ/再圧縮を無効にします。 SQL Server 2016 (13.x) では、列ストア インデックスを再編成するときに、圧縮された小さい行グループを圧縮された大きい行グループに自動的にマージし、多数の行が削除されている行グループを圧縮する、新しい機能があります。

注: トレース フラグ 10204 は、メモリ最適化テーブル上に作成された列ストア インデックスには適用されません。

スコープ: グローバル、セッション
10207 クラスター化列ストア インデックス (CCI) スキャンで、破損したセグメントまたはメタデータをスキップできるようにします。これにより、破損した CCI からデータを取得できるようになります。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバル、セッション
10316 既定のものに加えて、内部メモリ最適化ステージング テンポラル テーブルに追加のインデックスを作成できるようにします。 既定のインデックスで対応されていない列を含む特定のクエリ パターンがある場合は、新しいインデックスの追加を検討できます。

注: メモリ最適化テーブルのシステムでバージョン管理されたテンポラル テーブルは、高いトランザクション スループットを提供するように設計されています。 追加のインデックスを作成すると、現在のテーブルの行を更新または削除する DML 操作にオーバーヘッドが発生する可能性があることに注意してください。 インデックスを追加するときは、テンポラル クエリのパフォーマンスと DML オーバーヘッドの増加の間の適切なバランスを見つける必要があります。

スコープ: グローバル、セッション
11023 UPDATE STATISTICS ステートメントの一部としてサンプル レートが明示的に指定されていない場合、後続のすべての統計更新に対して、最後の永続化されたサンプル レートの使用を無効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

スコープ: グローバルのみ
11024 任意のパーティションの変更数がローカルなしきい値を超えた場合の統計の自動更新のトリガーを有効にします。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは SQL Server 2016 (13.x) SP2、SQL Server 2017 (14.x) CU3 以降のビルドに適用されます。

スコープ: グローバルのみ
11047 query wait (s) または Resource Governor REQUEST_MEMORY_GRANT_TIMEOUT_SEC 構成によって設定された既定のタイムアウトが、列ストア インデックスの構築操作に適用されます。 詳しくは、こちらの Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2016 (13.x) SP2 CU5、SQL Server 2017 (14.x) CU14 以降のビルドに適用されます。

スコープ: グローバルのみ
11064 SELECTINSERT ステートメント間のメモリ配分を最適化することにより、列ストア インデックスへのデータ読み込み操作のスケーラビリティが向上します。 列ストア インデックスへのデータの読み込みの詳細については、「列ストア インデックス - データ読み込みガイダンス」を参照してください。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

スコープ: グローバルのみ
11068 列ストア インデックスの挿入操作に対して、サーバー、データベース、またはリソース プールの構成された並列処理の最大限度 (MAXDOP) 値を使用します。 並列処理の度合いのオーバーライドについて詳しくは、「クエリ処理アーキテクチャ ガイド」を参照してください。

重要: このトレース フラグは、トレース フラグ 11064 も有効になっている場合にのみ有効です。

重要: このトレース フラグは、列ストア セグメントの質の維持よりも高速なデータ読み込みが優先される場合に使用します。 たとえば、挿入操作が並列モードで実行される場合、列ストアに 1,048,577 行を読み込むときにこのトレース フラグを使用すると、複数の圧縮された行グループが生成される可能性があります。 このトレース フラグがない場合、挿入操作では 1 つの圧縮された行グループが生成されます。

注: このトレース フラグは、SQL Server 2019 (15.x) 以降のビルドに適用されます。

スコープ: グローバルのみ
11631 'ALTER INDEX ...REORGANIZE' で列ストア インデックス行グループ内の削除された行がクリーンアップされるのは、その行グループから特定のしきい値の行が削除された場合のみです。 既定のしきい値は、最大行数 (100 万) の 10% つまり 100,000 行です。 このトレース フラグにより、しきい値が列ストア行グループ内の現在の合計行数の 10% に変更されます。 たとえば、行グループに 20,000 行が含まれている場合、2,000 行が削除されるとしきい値を超え、REORGANIZE でこの行グループがクリーンアップの対象と見なされます。 詳しくは、Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2019 (15.x) CU9 以降のビルドに適用されます。

スコープ: グローバルのみ
11634 'ALTER INDEX ...REORGANIZE' で列ストア インデックス行グループ内の削除された行がクリーンアップされるのは、その行グループから特定のしきい値の行が削除された場合のみです。 既定のしきい値は、最大行数 (100 万) の 10% つまり 100,000 行です。 このトレース フラグにより、しきい値が列ストア行グループ内の行数の 1% に変更されます。 トレース フラグ 11631 と共に有効にすると、100 万行の 1% ではなく、行グループ内の現在の行数の 1% になります。 詳しくは、Microsoft サポート技術情報をご覧ください。

注: このトレース フラグは、SQL Server 2019 (15.x) CU9 以降のビルドに適用されます。

スコープ: グローバルのみ
13116 バグ 13685819 の修正プログラムを無効にします。 このトレース フラグは、SQL Server 2016 (13.x) SP2 CU16 を適用した後に、並列プランを使用する DML (insert/update/delete) クエリが実行を完了できず、HP_SPOOL_BARRIER 待機に遭遇する問題が発生した場合に使用します。

注: このトレース フラグは、SQL Server 2016 (13.x) SP2 CU16 に適用されます。

スコープ: グローバルのみ

次の例では、DBCC TRACEON を使うことによって、サーバー レベルですべてのセッションにトレース フラグ 3205 を設定します。

DBCC TRACEON (3205,-1);  

特定のクエリに対し、トレース フラグ 4199 および 4137 によって制御される、プランに影響するすべての修正プログラムを有効にすることができます。

SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

参照

データ型 (Transact-SQL)
DBCC INPUTBUFFER (Transact-SQL)
DBCC OUTPUTBUFFER (Transact-SQL)
DBCC TRACEOFF (Transact-SQL)
DBCC TRACEON (Transact-SQL)
DBCC TRACESTATUS (Transact-SQL)
EXECUTE (Transact-SQL)
SELECT (Transact-SQL)
SET NOCOUNT (Transact-SQL)
ALTER DATABASE SET のオプション (Transact-SQL)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
クエリ ヒント (Transact-SQL)