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


sys.sp_xtp_control_query_exec_stats (Transact-SQL)

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

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

Сведения о включении сбора статистики на уровне процедуры для всех скомпилированных в собственном коде хранимых процедур см. в разделе sys.sp_xtp_control_proc_exec_stats (Transact-SQL).

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2014 до текущей версии).

Синтаксис

sp_xtp_control_query_exec_stats [ [ @new_collection_value = ] collection_value ],[ [ @database_id = ] database_id [ , [ @xtp_object_id = ] procedure_id ] , [ @old_collection_value] ]

Аргументы

  • @new\_collection\_value = value
    Определяет, включен (1) или выключен (0) сбор статистики на уровне процедуры.

    При запуске SQL Server аргумент @new\_collection\_value получает значение нуль.

  • @database\_id = = database_id, @xtp\_object\_id = procedure_id
    Идентификатор базы данных и идентификатор объекта для скомпилированной в собственном коде хранимой процедуры. Если сбор статистики для экземпляра включен (sys.sp_xtp_control_proc_exec_stats (Transact-SQL)), то собирается статистика по скомпилированной в собственном коде хранимой процедуре. При отключении сбора статистики для экземпляра сбор статистики для отдельных, скомпилированных в собственном коде хранимых процедур не отключается.

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

  • @old\_collection\_value = value
    Возвращает текущее состояние.

Код возврата

0 — успешное завершение. Ненулевое значение — ошибка.

Разрешения

Необходимо членство в предопределенной роли sysadmin.

Образец кода

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

declare @c bit

exec [sys].[sp_xtp_control_query_exec_stats] @new_collection_value = 1

exec 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 = 341576255

exec sp_xtp_control_query_exec_stats @database_id = 5, @xtp_object_id = 341576255, @old_collection_value=@c output
select @c as 'collection status'

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

Основные понятия

In-Memory OLTP (оптимизация в памяти)