.show extents

注意

數據分區稱為 範圍,而所有命令都會使用「範圍」或「範圍」做為同義字。 如需範圍的詳細資訊,請參閱分區 (資料分區) 總覽

.show extents命令的類型如下所示:

注意

如果執行 .show extents 命令的範圍 (例如資料庫或叢集) 具有許多分區,可能會耗用大量資源。 建議您在可能的最低範圍使用命令變體。 用於資料表範圍比資料庫範圍好,用於資料庫範圍比叢集範圍好。 包含篩選分區的命令變體,比使用其他查詢篩選命令的結果好。

權限

若要查看叢集上的範圍,您必須擁有AllDatabasesMonitor許可權。

若要查看資料庫上的範圍,您必須擁有資料庫用戶、資料庫查看器或資料庫監視器許可權。

如需詳細資訊,請參閱 角色型訪問控制

資料表範圍

Syntax

顯示指定資料表中分區 (資料分區) 的相關資訊。 資料庫是取自命令的內容。 如果指定 hot,則只會顯示熱門快取中預期的分區。

.showtableTableNameextents[(ExtentId [, ...])][hot] [ (|contains!has|has!contains|) TagName [andwheretagstags () contains|has!has||!contains TagName [, ...]]]

.showtables(TableName [, ...])extents[(ExtentId [, ...])][hot] [ (|contains!has|has!contains|) TagName [andwheretagstags () contains|has!has||!contains TagName [, ...]]

深入瞭解 語法慣例

參數

名稱 類型 必要 描述
TableName string ✔️ 資料表的名稱。
ExtentId string 要顯示的範圍標識碼。
標籤 string 要依指定篩選的標記名稱。

建議

  • 在命令中使用內建的篩選功能,比新增以查詢為基礎的篩選 (例如新增 | where DatabaseName == '...'TableName == '...') 更好。
  • 如果提供選擇性的範圍標識符清單,則傳回的數據集僅限於這些範圍。
    • 這個方法比篩選 (將) 新增 | where ExtentId in(...) 至「裸」命令的結果更快。
  • 如果指定 tags 篩選條件:
    • 傳回的清單僅限於標記集合遵守所有提供之標記篩選準則的分區。
    • 這個方法比篩選 (新增 | where Tags has '...' and Tags contains '...' 至) 「裸」命令的結果更快。
    • has 篩選是相等的篩選準則。 未使用其中一個指定標籤的範圍會篩選掉。
    • !has 篩選是相等的負篩選條件。 使用其中一個指定標籤的範圍會篩選掉。
    • contains 篩選是不區分大小寫的子字串篩選條件。 沒有指定字串的範圍會篩選掉任何捲標的子字串。
    • !contains 篩選是不區分大小寫的子字串負篩選條件。 具有指定字串做為其任何捲標子字串的範圍會篩選掉。

資料庫範圍

顯示指定資料庫中的分區 (資料分區) 相關資訊。 如果已指定 hot,則只會顯示熱快取中預期的分區。

Syntax

.showdatabaseDatabaseNameextents[(ExtentId [, ...])][hot] [ (|contains!has|has!contains|) TagName [andwheretagstags () contains|has!has||!contains TagName [, ...]]]

深入瞭解 語法慣例

參數

名稱 類型 必要 描述
DatabaseName string ✔️ 資料庫的名稱。
ExtentId string 要顯示的範圍標識碼。
標籤 string 要依指定篩選的標記名稱。

叢集範圍

Syntax

.showclusterextents [hot]

深入瞭解 語法慣例

顯示叢集中的分區 (資料分區) 相關資訊。 如果已指定 hot,則只會顯示熱快取中預期的分區。

傳回

輸出參數 類型 描述
ExtentId guid 分區的識別碼
DatabaseName string 分區所屬的資料庫
TableName string 分區所屬的資料表
MaxCreatedOn datetime 建立分區的日期時間。 針對合併的分區,來源分區的最大建立次數
OriginalSize Double 分區資料的原始大小 (以位元組為單位)
ExtentSize Double 記憶體中的分區大小 (壓縮 + 索引)
CompressedSize Double 記憶體中分區資料的壓縮大小
IndexSize Double 分區資料的索引大小
區塊 long 分區中的資料區塊數目
使用者分佈 long 分區中的資料區段數目
ExtentContainerId string 分區所在分區容器的識別碼
RowCount long 分區中的資料列數
MinCreatedOn datetime 建立分區的日期時間。 針對合併的分區,來源分區的最小建立次數
標籤 string 為分區定義的標記 (如果有的話)
種類 string 建立範圍的儲存引擎種類
DeletedRowCount long 分區中已刪除的資料列數。

範例

已標記分區

資料表 T 中的分區 E 會以標記 aaaBBBccc 標記。

  • 此查詢會傳 E回 :

      .show table T extents where tags has 'aaa' and tags contains 'bb'
    
  • 此查詢不會傳回 E ,因為它未加上 aa標記:

      .show table T extents where tags has 'aa' and tags contains 'bb'
    
  • 此查詢會傳 E回 :

      .show table T extents where tags contains 'aaa' and tags contains 'bb' 
    

顯示已建立分區的數量

顯示特定資料庫中每小時所建立的分區量

.show database MyDatabase extents | summarize count(ExtentId) by MaxCreatedOn bin=time(1h) | render timechart  

顯示每小時資料表達到的資料量

.show database MyDatabase extents  
| summarize sum(OriginalSize) by TableName, MaxCreatedOn bin=time(1h)  
| render timechart

按資料表顯示資料大小分佈

.show database MyDatabase extents | summarize sum(OriginalSize) by TableName

顯示名為「GamesDB」的資料庫中所有分區

.show database GamesDB extents

顯示名為「Games」的資料表中所有分區

.show table Games extents

顯示特定資料表中的所有分區

顯示名為「TaggingGames1」和「TaggingGames2」的資料表中的所有分區,並以「tag1」和「'tag2」標記

.show tables (TaggingGames1,TaggingGames2) extents where tags has 'tag1' and tags has 'tag2'