適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
針對 SQL Server 資料庫中數據表、索引和索引檢視表,每個統計數據物件各包含一個數據列。 每一個索引都有具有相同名稱和 IDindex_id = stats_id () 的對應統計資料列,但並非每個統計資料列都有對應的索引。
目錄檢視 sys.stats_columns 提供資料庫中每個數據行的統計數據資訊。
如需統計資料的詳細資訊,請參閱統計資料。
注意
如需 Microsoft Fabric 中統計資料的詳細資訊,請參閱 Fabric Data Warehouse 中的統計資料。
| 資料行名稱 | 資料類型 | 描述 |
|---|---|---|
object_id |
int | 這些統計數據所屬對象的標識碼。 |
name |
sysname | 統計數據的名稱。 在物件中是唯一的。 |
stats_id |
int | 統計數據的標識碼。 在物件中是唯一的。 如果統計數據對應至索引,則stats_id值與 sys.indexes 目錄檢視中的index_id值相同。 |
auto_created |
bit | 指出 SQL Server 是否自動建立統計數據。 0 = SQL Server 不會自動建立統計資料。 1 = SQL Server 自動建立統計數據。 |
user_created |
bit | 指出使用者是否建立統計數據。 0 = 統計資料不是由使用者建立。 1 = 使用者已建立統計數據。 |
no_recompute |
bit | 指出統計資料是否是使用選項 NORECOMPUTE 建立的。0 = 未使用選項 NORECOMPUTE 建立統計資料。1 = 使用選項建立 NORECOMPUTE 統計資料。 |
has_filter |
bit | 0 = 統計資料沒有篩選器,而且會針對所有資料列進行計算。 1 = 統計數據具有篩選,而且只會計算滿足篩選定義的數據列。 |
filter_definition |
nvarchar(max) | 篩選統計數據中包含的數據列子集表達式。NULL = 未過濾的統計資料。 |
is_temporary |
bit | 指出統計數據是否為暫時性。 暫時統計數據支援啟用只讀取的 Always On 可用性群組輔助資料庫。 0 = 統計資料不是暫時的。 1 = 統計數據是暫時的。 適用於:SQL Server |
is_incremental |
bit | 指出統計數據是否建立為累加統計數據。 0 = 統計資料不是累加的。 1 = 統計數據是累加的。 適用於:SQL Server 2014 (12.x) 和更新版本。 |
has_persisted_sample |
bit | 指出統計資料是使用選項 PERSIST_SAMPLE_PERCENT 建立或更新的。0 = 統計資料不會保留樣本百分比。1 = 使用選項建立 PERSIST_SAMPLE_PERCENT 或更新統計資料。適用於:SQL Server 2019 (15.x) 和更新版本。 |
stats_generation_method |
int | 指出建立統計數據的方法。0 = 排序型統計量1 = 僅限內部使用 適用於:SQL Server 2019 (15.x) 和更新版本。 |
stats_generation_method_desc |
varchar(255) | 建立統計數據之方法的文字描述。 排序型統計數據 僅供內部使用。 適用於:SQL Server 2019 (15.x) 和更新版本。 |
auto_drop |
bit | 指出是否為此統計數據物件啟用自動卸除功能。 此 AUTO_DROP 屬性允許在某種模式下建立統計資料物件,以便統計資料物件不會封鎖後續結構描述變更,而是視需要卸除統計資料。 如此一來,手動建立並啟用的 AUTO_DROP 統計資料的行為就像自動建立的統計資料一樣。 如需詳細資訊,請參閱 AUTO_DROP 選項。適用於:SQL Server 2022 (16.x) 和更新版本、Azure SQL 資料庫、Azure SQL 受控執行個體。 |
replica_role_id |
tinyint | 指出上次更新自動統計資料的複本。 1 = 主要 2 = 次要 3 = 地理次要 4 = Geo HA 次要 適用於:SQL Server 2025(17.x)及更新版本、Azure SQL 資料庫、Azure SQL Managed Instance。 |
replica_role_desc |
nvarchar(60) | 主要、次要、地理位置次要、地理位置 HA 次要 適用於:SQL Server 2025(17.x)及更新版本、Azure SQL 資料庫、Azure SQL Managed Instance。 |
replica_name |
sysname | 可用性群組中複本的執行個體名稱。
NULL 對於主要複本適用於:SQL Server 2025 (17.x) 及以後版本、Azure SQL 資料庫、Azure SQL 管理實例 |
權限
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需詳細資訊,請參閱中 繼資料可見度設定。
範例
下列範例會傳 HumanResources.Employee 回數據表的所有統計數據和統計數據數據行。
USE AdventureWorks2022;
GO
SELECT s.name AS statistics_name,
c.name AS column_name,
sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc
ON s.object_id = sc.object_id
AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c
ON sc.object_id = c.object_id
AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');