sys.sp_xtp_control_query_exec_stats (Transact-SQL)

適用対象:SQL Server

インスタンスに関するすべてのネイティブ コンパイル ストアド プロシージャ、または特定のネイティブ コンパイル ストアド プロシージャのクエリごとの統計コレクションを有効にします。

統計コレクションを有効にすると、パフォーマンスが低下します。 1 つのストアド プロシージャまたはネイティブ コンパイル ストアド プロシージャのトラブルシューティングのみを行う必要がある場合は、ネイティブ コンパイル ストアド プロシージャの統計収集のみを有効にすることができます。

ネイティブ コンパイル ストアド プロシージャすべてに対してプロシージャ レベルで統計収集を有効にするには、「sys.sp_xtp_control_proc_exec_stats (Transact-SQL)」を参照してください

構文

sys.sp_xtp_control_query_exec_stats
    [ [ @new_collection_value = ] collection_value ]
    [ , [ @database_id = ] database_id ]
    [ , [ @xtp_object_id = ] procedure_id ]
    , [ @old_collection_value = ] old_collection_value OUTPUT
[ ; ]

引数

[ @new_collection_value = ] collection_value

プロシージャ レベルの統計収集がオン () かオフ0 (1) かを決定します。 @new_collection_valueはビットです

@new_collection_valueは、SQL Server の起動時に0設定されます。

[ @database_id = ] database_id、 [ @xtp_object_id = ] procedure_id

ネイティブ コンパイル ストアド プロシージャのデータベース ID とオブジェクト ID (データ型 int)。 インスタンス (sys.sp_xtp_control_proc_exec_stats (Transact-SQL) に対して統計コレクションが有効になっている場合は、ネイティブ コンパイル ストアド プロシージャの統計が収集されます。 インスタンスで統計収集をオフにしても、ネイティブ コンパイル ストアド プロシージャごとに統計収集がオフになりません。

データベースとストアド プロシージャの ID を取得するには、sys.databases (Transact-SQL)sys.procedures (Transact-SQL)、DB_ID (Transact-SQL)、またはOBJECT_ID (Transact-SQL) を使用します。

[ @old_collection_value = ] old_collection_value OUTPUT

現在の状態を返します。 @old_collection_valueビットです

リターン コードの値

0 成功を収めます。 エラーの場合は 0 以外。

アクセス許可

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

次のコード サンプルは、インスタンスのすべてのネイティブ コンパイル ストアド プロシージャと、特定のネイティブ コンパイル ストアド プロシージャに対して統計コレクションを有効にする方法を示しています。

DECLARE @c BIT;

EXEC sys.sp_xtp_control_query_exec_stats @new_collection_value = 1;

EXEC sys.sp_xtp_control_query_exec_stats @old_collection_value = @c OUTPUT;

SELECT @c AS 'collection status';

EXEC sys.sp_xtp_control_query_exec_stats @new_collection_value = 1,
    @database_id = 5,
    @xtp_object_id = 41576255;

EXEC sys.sp_xtp_control_query_exec_stats @database_id = 5,
    @xtp_object_id = 41576255,
    @old_collection_value = @c OUTPUT;

SELECT @c AS 'collection status';