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 (記憶體中最佳化)