設定 Azure SQL 受控執行個體的 tempdb 設定
適用於:Azure SQL 受控執行個體
本文會教導您針對 Azure SQL 受控執行個體 編輯 tempdb
設定。
Azure SQL 受控執行個體可讓您設定下列內容:
tempdb
檔案數目tempdb
檔案的成長增量tempdb
大小上限
在您的執行個體重新啟動、更新或發生容錯移轉之後,tempdb
設定會繼續保存。
概觀
tempdb
是 Azure SQL 受控執行個體 隨附的預設系統資料庫之一。 tempdb
的結構與任何其他使用者資料庫結構相同;差異在於,由於 tempdb
用於非持久儲存體,因此會以最低限度記錄異動。
tempdb
無法卸除、中斷連結、離線、重新命名或還原。 嘗試其中任何一項作業會傳回錯誤。 當伺服器執行個體每次啟動時都會重新產生 tempdb
,且於上個工作階段期間可能在 tempdb
建立的任何物件,在服務重新啟動、執行個體更新管理作業或容錯移轉之後不會保存。
tempdb
的工作負載與其他使用者資料庫的工作負載不同;物件與資料經常建立及損毀,且並行度極高。 每個受控執行個體只有一個 tempdb
。 即使您有多個資料庫與應用程式連線執行個體,其仍使用相同 tempdb
資料庫。 當服務嘗試在大量使用的 tempdb
配置頁面時,可能會發生爭用。 視爭用程度而定,涉及 tempdb
的查詢與要求可能無法取得回應。 這就是為什麼 tempdb
對服務效能至關重要的原因。
tempdb
檔案數目
增加數據檔數目 tempdb
會為每個數據檔建立一或多個 GAM 和 SGAM 頁面,這有助於改善 tempdb
並行並減少 PFS 頁面爭用。 然而,增加 tempdb
資料檔案數目可能帶來其他效能影響,因此請先徹底測試,再於生產環境實作。
根據預設,Azure SQL 受控執行個體會建立 12 個 tempdb
資料檔案與 1 個 tempdb
記錄檔,但可修改此組態。
變更 tempdb
檔案數目具下列限制:
- 新檔案的邏輯名稱不區分大小寫,最多 16 個字元且無空格。
tempdb
檔案數目上限為 128。
注意
在新增新檔案之後,您無需重新啟動伺服器;然而,空置檔案會填入較高優先順序,而且配置頁面的循環配置資源演算法會遺失,直到系統重新平衡為止。
您可使用 SQL Server Management Studio (SSMS) 與 Transact-SQL (T-SQL) 來變更 Azure SQL 受控執行個體的 tempdb
檔案數目。
您可以使用 SQL Server Management Studio (SSMS) 來修改 tempdb
檔案數目。 若要如此做,請執行下列步驟:
連線到 SSMS 的受控執行個體。
在 [物件總管],展開 [資料庫],然後展開 [系統資料庫]。
以滑鼠右鍵按一下
tempdb
,選擇 [屬性]。在 [選取頁面] 下方選取 [檔案],檢視現有的
tempdb
檔案數目。若要新增檔案,請選擇 [新增],然後在資料列提供新資料檔案的相關資訊。
若要移除
tempdb
檔案,從資料庫檔案清單選擇您要移除的檔案,然後選取 [移除]。
成長增量
tempdb
檔案成長可能會對使用 tempdb
的查詢造成效能影響。 因此,若 tempdb
資料檔案成長增量太小可能導致範圍破斷,而增量太大則可能導致成長緩慢,或者如果成長空間不足,則可能導致成長失敗。 tempdb
檔案成長增量的最佳值取決於您的工作負載。
對於 tempdb
資料檔案,SQL 受控執行個體的預設成長增量是 254 MB 的,而 tempdb
記錄檔則為 64 MB,但您可設定成長增量以便適應您的工作負載並調整效能。
請考慮下列事項:
- 檔案成長參數支援下列
int_growth_increment
單位 :KB、MB、GB、TB 與 %。 - 所有
tempdb
資料檔案的成長增量應相同,否則分配頁面的循環配置資源演算法可能會受影響。
您使用 SQL Server Management Studio (SSMS) 與 Transact-SQL (T-SQL) 來變更 tempdb
檔案的成長增量。
您可使用 SQL Server Management Studio (SSMS) 來修改 tempdb
檔案的成長增量。 若要如此做,請執行下列步驟:
連線到 SSMS 的受控執行個體。
在 [物件總管],展開 [資料庫],然後展開 [系統資料庫]。
以滑鼠右鍵按一下
tempdb
,選擇 [屬性]。在 [選取頁面] 下方選取 [檔案],檢視現有的
tempdb
檔案數目。選擇資料檔案旁的省略號 (…),開啟 [變更自動成長屬性] 對話方塊視窗。
核取 [啟用自動成長] 旁的方塊,然後藉由指定檔案成長值 (以百分比或 MB 為單位) 來修改您的自動成長設定。
選取 [確定] 儲存您的設定。
大小上限
tempdb
大小是所有 tempdb
檔案的總和大小。 tempdb
檔案大小是該 tempdb
檔案的已分配 (歸零) 空間。 所有 tempdb
檔案的初始檔案大小為 16 MB,這是執行個體重新啟動或容錯移轉時所有 tempdb
檔案的大小。 一旦 tempdb
資料檔案的已使用空間達到檔案大小,所有 tempdb
資料檔案就會依其設定的成長增量自動成長。
tempdb
已使用空間指的是所有 tempdb
檔案的已使用空間總和。 tempdb
檔案的已使用空間等於該 tempdb
檔案為非零資訊佔用的部分大小。 tempdb
已使用空間與 tempdb
可用空間的總和等於 tempdb
大小。
您可使用 T-SQL 來針對 tempdb
檔案判斷其目前已使用與可用空間。
若要取得 tempdb
資料檔案的已使用空間、可用空間與大小,請執行此命令:
USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB,
SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB,
SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB
FROM sys.dm_db_file_space_usage
下列螢幕擷取畫面顯示範例輸出:
若要取得 tempdb
記錄檔的已使用空間、可用空間與大小,請執行此命令:
USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
(total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage
下列螢幕擷取畫面顯示範例輸出:
tempdb
大小上限是 tempdb
無法進一步成長的限制。
SQL 受控執行個體的 tempdb
大小上限具下列限制:
- 在一般用途服務層級,
tempdb
的大小上限限制為 24 Gb/虛擬核心 (96-1920 GB),記錄檔則為120 GB。 - 在業務關鍵服務層級,
tempdb
與其他資料庫競爭資源,因此保留儲存體會由tempdb
與其他資料庫共用。tempdb
記錄檔的大小上限是 2 TB。
tempdb
檔案會成長,直到達到服務層級所允許的最大限制,或由手動設定的 tempdb
檔案大小上限為止。
您可使用 SQL Server Management Studio (SSMS) 與 Transact-SQL (T-SQL) 來變更 tempdb
檔案的大小上限。
若要判斷 SSMS 目前 tempdb
的大小上限,請遵循下列步驟:
- 連線到 SSMS 的受控執行個體。
- 在 [物件總管],展開 [資料庫],然後展開 [系統資料庫]。
- 以滑鼠右鍵按一下
tempdb
,選擇 [屬性]。 - 在 [一般頁面],檢查 [資料庫] 下方的 [大小] 值,判斷您的 tempdb 大小上限。
-1
值表示 tempdb 無大小上限。
若要變更 SSMS 目前 tempdb
的大小上限,請遵循下列步驟:
- 連線到 SSMS 的受控執行個體。
- 在 [物件總管],展開 [資料庫],然後展開 [系統資料庫]。
- 以滑鼠右鍵按一下
tempdb
,選擇 [屬性]。 - 在 [選取頁面] 下方選取 [檔案],檢視現有的
tempdb
檔案數目。 - 選擇資料檔案旁的省略號 (…),開啟 [變更自動成長屬性] 對話方塊視窗。
- 變更 [檔案大小上限] 底下的值,即可修改
tempdb
大小上限設定。 - 選取 [確定] 儲存您的設定。
tempdb 限制
下表定義各種 tempdb
組態設定限制:
組態設定 | 值 |
---|---|
tempdb 檔案邏輯名稱 |
最多 16 個字元 |
tempdb 檔案數目 |
最多 128 個檔案 |
tempdb 檔案預設數目 |
13 (1 個記錄檔 + 12 個資料檔案) |
tempdb 資料檔案的初始大小 |
16 MB |
tempdb 資料檔案的預設成長增量 |
256 MB |
tempdb 記錄檔的初始大小 |
16 MB |
tempdb 記錄檔的預設成長增量 |
64 MB |
tempdb 初始大小上限 |
-1 (無限制) |
tempdb 最大大小 |
最多到儲存體大小 |
下一步
- 若要了解如何建立您的第一個受控執行個體,請參閱快速入門指南。
- 如需功能與比較清單,請參閱 SQL 的一般功能。
- 如需 VNet 組態的詳細資訊,請參閱 SQL 受控執行個體 VNet 組態。
- 如需建立受控執行個體,並從備份檔案還原資料庫的快速入門,請參閱建立受控執行個體。
- 如需使用 Azure 資料庫移轉服務進行移轉的教學課程,請參閱使用資料庫移轉服務的 SQL 受控執行個體移轉。
- 如需進階監視 SQL 受控執行個體,請參閱資料庫監看員。
- 如需價格資訊,請參閱 SQL Database 價格。