sys.sp_xtp_control_query_exec_stats (Transact-SQL)
適用対象: SQL サーバー
インスタンスに関するすべてのネイティブ コンパイル ストアド プロシージャ、または特定のネイティブ コンパイル ストアド プロシージャのクエリごとの統計コレクションを有効にします。
統計コレクションを有効にすると、パフォーマンスが低下します。 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
プロシージャ レベルの統計収集がオン (1
) かオフ (0
) かを決定します。 @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';