共用方式為


sys.dm_column_store_object_pool (Transact-SQL)

適用於:SQL Server 2016 (13.x) 和更新版本 Azure SQL 資料庫 Azure SQL 受控執行個體

傳回數據行存放區索引物件的不同類型的物件記憶體集區使用量計數。

資料行名稱 資料類型 描述
database_id int 資料庫的標識碼。 這在 SQL Server 資料庫或 Azure SQL 資料庫伺服器的實例內是唯一的。
object_id int 對象的識別碼。 物件是其中一個object_types。
index_id int 數據行存放區索引的識別碼。
partition_number bigint 索引或堆積內的1個分割區編號。 每個數據表或檢視表至少有一個數據分割。
column_id int 數據行存放區數據行的識別碼。 這是DELETE_BITMAP的 NULL。
row_group_id int 數據列群組的標識碼。
object_type smallint 1 = COLUMN_SEGMENT

2 = COLUMN_SEGMENT_PRIMARY_DICTIONARY

3 = COLUMN_SEGMENT_SECONDARY_DICTIONARY

4 = COLUMN_SEGMENT_BULKINSERT_DICTIONARY

5 = COLUMN_SEGMENT_DELETE_BITMAP
object_type_desc nvarchar(60) COLUMN_SEGMENT - 資料行區段。 object_id 是區段標識碼。 區段會將一個數據行的所有值儲存在一個數據列群組內。 例如,如果數據表有10個數據行,則每個數據列群組有10個數據行區段。

COLUMN_SEGMENT_PRIMARY_DICTIONARY - 全域字典,其中包含數據表中所有數據行區段的查閱資訊。

COLUMN_SEGMENT_SECONDARY_DICTIONARY - 與一個數據行相關聯的本機字典。

COLUMN_SEGMENT_BULKINSERT_DICTIONARY - 全域字典的另一個表示法。 這會提供值的反向查閱,以dictionary_id。 用來建立壓縮區段做為 Tuple Mover 或大量載入的一部分。

COLUMN_SEGMENT_DELETE_BITMAP - 追蹤區段刪除的點陣圖。 每個分割區有一個刪除位圖。
access_count int 這個物件的讀取或寫入存取權數目。
memory_used_in_bytes bigint 物件集區中這個物件所使用的記憶體。
object_load_time Datetime 將object_id帶入物件集區的時鐘時間。

權限

在 SQL Server 和 SQL 受控執行個體上,需要 VIEW SERVER STATE 權限。

在 SQL Database [Basic][S0][S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

需要資料庫上的 VIEW DATABASE PERFORMANCE STATE 權限。

另請參閱

索引相關的動態管理檢視和函式 (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
效能的監視與微調
資料行存放區索引:概觀