DBCC TRACEON (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed Instance

指定されたトレース フラグを有効にします。

Transact-SQL 構文表記規則

構文

DBCC TRACEON ( trace# [ , ...n ] [ , -1 ] ) [ WITH NO_INFOMSGS ]

Note

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

trace#

有効にするトレース フラグの番号。

n

複数のトレース フラグを指定できることを示すプレースホルダー。

-1

指定されたトレース フラグをグローバルに有効にします。 Azure SQL Managed Instance では、この引数は必須です。

WITH NO_INFOMSGS

すべての情報メッセージを表示しないようにします。

解説

稼働サーバーでは、予期しない動作を避けるため、次のいずれかの方法を使用してトレース フラグをサーバー規模でのみ有効にすることをお勧めします。

  • sqlservr.exe のコマンド ライン スタートアップ オプション -T を使用します。 すべてのステートメントがトレース フラグを有効にした状態で実行されるので、この方法をお勧めします。 これらはスタートアップ スクリプトのコマンドに含まれています。 詳細については、「 sqlservr Application」を参照してください。
  • DBCC TRACEON は、システムでユーザーまたはアプリケーションが同時にステートメントを実行していない場合にのみ使用します。

トレース フラグは、SQL Server の動作を制御して特定の特性をカスタマイズするために使用されます。 トレース フラグは、有効になると、DBCC TRACEOFF ステートメントを実行して無効にするまで、サーバー内では有効のままです。 SQL Server には、セッションとグローバルという 2 種類のトレース フラグがあります。 セッション トレース フラグは、1 つの接続についてアクティブで、その接続に対してのみ表示可能です。 グローバル トレース フラグは、サーバー レベルで設定され、サーバー上のすべての接続に対して表示可能です。 トレース フラグの状態を確認するには、DBCC TRACESTATUS を使用します。 トレース フラグを無効にするには、DBCC TRACEOFF を使用します。

クエリ プランに影響を与えるトレース フラグをオンにした後、DBCC FREEPROCCACHE; を実行すると、新しいプランに影響を与える動作を使用して、キャッシュされているプランが再コンパイルされます。

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

結果セット

DBCC TRACEON によって、次のメッセージが返されます。

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

アクセス許可

sysadmin 固定サーバー ロールのメンバーシップが必要です。

次の例では、トレース フラグ 3205 を有効にすることにより、テープ ドライバーのハードウェア圧縮を無効にします。 このフラグは、現在の接続に対してのみオンとなります。

DBCC TRACEON (3205);
GO

次の例では、トレース フラグ 3205 をグローバルに有効にします。

DBCC TRACEON (3205, -1);
GO

次の例では、トレース フラグ 3205 と 260 をグローバルに有効にします。

DBCC TRACEON (3205, 260, -1);
GO

関連項目