Поделиться через


sys.sp_xtp_control_query_exec_stats (Transact-SQL)

Область применения: SQL Server

Включает сбор статистики запросов для всех скомпилированных в собственном коде хранимых процедур экземпляра или определенных, скомпилированных в собственном коде хранимых процедур.

При включении сбора статистики производительность снижается. Если вам нужно устранить неполадки только в одном или нескольких скомпилированных в собственном коде хранимых процедур, вы можете включить сбор статистики только для тех немногих скомпилированных в собственном коде хранимых процедур.

Чтобы включить сбор статистики на уровне процедуры для всех скомпилированных в собственном коде хранимых процедур, см. 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 задано 0 при запуске SQL Server.

[ @database_id = ] database_id, [ @xtp_object_id = ] procedure_id

Идентификатор базы данных и идентификатор объекта (int типа данных) для скомпилированной хранимой процедуры в собственном коде. Если коллекция статистики включена для экземпляра (sys.sp_xtp_control_proc_exec_stats (Transact-SQL),собираются статистические данные о скомпилированной хранимой процедуре. Отключение сбора статистики на экземпляре не отключает сбор статистики для отдельных скомпилированных хранимых процедур.

Используйте sys.database (Transact-SQL),sys.procedures (Transact-SQL), DB_ID (Transact-SQL) или OBJECT_ID (Transact-SQL), чтобы получить идентификаторы для базы данных и хранимой процедуры.

[ @old_collection_value = ] old_collection_value ВЫХОДНЫЕ ДАННЫЕ

Возвращает текущее состояние. @old_collection_value бит.

Значения кода возврата

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';