sys.sp_xtp_control_query_exec_stats (Transact-SQL)
Область применения: SQL Server
Включает сбор статистики запросов для всех скомпилированных в собственном коде хранимых процедур экземпляра или определенных, скомпилированных в собственном коде хранимых процедур.
При включении сбора статистики производительность снижается. Если вам нужно устранить неполадки только в одном или нескольких скомпилированных в собственном коде хранимых процедур, вы можете включить сбор статистики только для тех немногих скомпилированных в собственном коде хранимых процедур.
Чтобы включить сбор статистики на уровне процедуры для всех скомпилированных в собственном коде хранимых процедур, см . sys.sp_xtp_control_proc_exec_stats.
Синтаксис
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), собираются статистические данные о скомпилированной хранимой процедуре. Отключение сбора статистики на экземпляре не отключает сбор статистики для отдельных скомпилированных хранимых процедур.
Используйте sys.database, sys.procedure, DB_ID или OBJECT_ID для получения идентификаторов для базы данных и хранимой процедуры.
[ @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';