適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
顯示或變更索引、統計數據對象、數據表或索引檢視表的自動統計數據更新選項 AUTO_UPDATE_STATISTICS。
如需選項 AUTO_UPDATE_STATISTICS 的詳細資訊,請參閱 ALTER DATABASE SET 選項 和 統計數據。
語法
sp_autostats
[ @tblname = ] N'tblname'
[ , [ @flagc = ] 'flagc' ]
[ , [ @indname = ] N'indname' ]
[ ; ]
引數
[ @tblname = ] N'tblname'
要顯示 AUTO_UPDATE_STATISTICS 選項之數據表或索引檢視表的名稱。
@tblname為 nvarchar(776),沒有預設值。
[ @flagc = ] 「旗幟」
更新或顯示 AUTO_UPDATE_STATISTICS 選項。
@flagc為 varchar(10),而且可以是下列其中一個值:
| 值 | Description |
|---|---|
ON |
另一 |
OFF |
關閉 |
| 未指定 | 顯示目前的 AUTO_UPDATE_STATISTICS 設定 |
[ @indname = ] N'indname'
要顯示或更新 AUTO_UPDATE_STATISTICS 選項的統計數據名稱。
@indname為 sysname 預設值為 NULL。 若要顯示索引的統計數據,您可以使用索引的名稱;索引及其對應的統計數據物件具有相同的名稱。
傳回碼值
0 (成功) 或 1 (失敗)。
結果集
如果 指定了@flagc ,則會報告已採取的動作, sp_autostats 但不會傳回任何結果集。
如果未 指定@flagc , sp_autostats 則傳回下列結果集。
| 資料行名稱 | 資料類型 | Description |
|---|---|---|
Index Name |
sysname | 索引或統計數據的名稱。 |
AUTOSTATS |
varchar(3) | 選項的 AUTO_UPDATE_STATISTICS 目前值。 |
Last Updated |
datetime | 最新統計數據更新的日期。 |
數據表或索引檢視的結果集包含針對索引建立的統計數據、使用 AUTO_CREATE_STATISTICS CREATE STATISTICS 語句所建立的選項和統計數據所產生的單一數據行統計數據。
備註
如果指定的索引已停用,或指定的數據表具有已停用的叢集索引,則會顯示錯誤訊息。
AUTO_UPDATE_STATISTICS 記憶體優化數據表一律為 OFF。
權限
若要變更AUTO_UPDATE_STATISTICS選項,您需要db_owner固定資料庫角色的成員資格,或ALTER@tblname的許可權。
若要顯示AUTO_UPDATE_STATISTICS選項,您需要公用角色的成員資格。
範例
A. 顯示數據表上所有統計數據的狀態
下列顯示數據表上 Production.Product 所有統計數據的狀態。
USE AdventureWorks2022;
GO
EXECUTE sp_autostats 'Production.Product';
GO
B. 針對數據表上的所有統計數據啟用AUTO_UPDATE_STATISTICS
下列範例會啟用 AUTO_UPDATE_STATISTICS 數據表上 Production.Product 所有統計數據的選項。
USE AdventureWorks2022;
GO
EXECUTE sp_autostats 'Production.Product', 'ON';
GO
C. 停用特定索引的AUTO_UPDATE_STATISTICS
下列範例會AUTO_UPDATE_STATISTICS停用數據表上AK_Product_Name索引的選項Production.Product。
USE AdventureWorks2022;
GO
EXECUTE sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO