在 Azure SQL 資料庫中擴增彈性集區
適用於:Azure SQL 資料庫
本文說明了如何在 Azure SQL 資料庫中擴增彈性集區和集區資料庫的可用計算和儲存體資源。
變更計算資源 (虛擬核心或 DTU)
在初始挑選虛擬核心或 DTU 數目後,您可以使用以下方法,根據實際經驗,動態擴增或縮減彈性集區:
變更服務層級或重新調整計算大小的影響
變更彈性集區的服務層級或計算大小會遵循與單一資料庫的類似模式,並且主要涉及執行下列步驟的服務:
針對彈性集區建立新的計算執行個體
使用必要服務層級和計算大小來為彈性集區建立新的計算執行個體。 針對某些服務層級和計算大小變更的組合,必須在新的計算執行個體中建立個別資料庫的複本,其中包含複製資料,且可能會對整體延遲造成強烈影響。 無論哪種情況,資料庫會在此步驟期間維持上線狀態,並繼續將連線導向至原始計算執行個體中的資料庫。
系統會將連線的路由切換至新的計算執行個體
原始計算執行個體中資料庫的現有連線將被卸除。 系統會在新的計算執行個體中建立任何新的資料庫連線。 針對某些服務層級和計算大小變更的組合,系統會在切換期間將資料庫檔案中斷連結然後重新連結。 無論如何,當資料庫不可用時,切換可能會導致短暫的服務中斷,通常不會超過 30 秒,且經常僅幾秒。 如果在連線中斷時存在活躍的長時間運行交易,則為了復原中止的交易,此步驟的耗時可能會更長。 加速資料庫復原 可以減少中止長時間執行交易的影響。
這很重要
工作流程中的任何步驟期間都不會遺失任何資料。
變更服務層級或重新調整計算大小的延遲
變更服務層級的估算延遲、擴增單一資料庫或彈性集區的計算大小、將資料庫移入/移出彈性集區,或在彈性集區之間移動資料庫的參數化,如下所示:
彈性集區擴增延遲 | 至基本、標準、一般用途彈性集區 | 至進階版、商務關鍵型彈性集區 | 將彈性集區擴展至超大規模 |
---|---|---|---|
來自基本、標準、一般用途彈性集區 | 與資料庫數目成正比 | • 由於資料複製,延遲與所使用的資料庫空間成正比。 • 通常,每使用 1 GB 空間的時間少於 1 分鐘。 |
N/A-資料庫需要個別新增至 超大規模彈性集區。 在擴增單一資料庫資源中記錄了每個資料庫的擴增延遲。 |
來自進階版、商務關鍵型彈性池 | • 由於資料複製,延遲與使用的資料庫空間成正比。 • 通常,每使用 1 GB 空間的延遲少於 1 分鐘。 |
• 由於資料複製,延遲與所使用的資料庫空間成正比。 • 通常,每使用 1 GB 空間小於 1 分鐘。 |
N/A-資料庫需要個別新增至 超大規模彈性集區。 在擴增單一資料庫資源中記錄的每個資料庫的擴增延遲。 |
來自超大規模彈性集區 | N/A | N/A | • 固定時間延遲 (與使用的空間無關)。 • 通常少於 2 分鐘。 |
請注意
- 當變更任何非超大規模彈性集區的服務層級或擴增計算時,應使用集區中所有資料庫已使用空間的總和來進行估算。 超大規模彈性集區的擴增延遲與使用空間無關。
- 如果彈性集區使用進階版檔案共用 (PFS) 儲存體,針對標準和一般用途的彈性集區,當將資料庫移入、移出彈性集區,或在不同彈性集區之間移動時,延遲將根據資料庫大小成比例增加。 欲判定資料庫是否使用 PFS 儲存體,請在集區中任何資料庫的內容中執行以下查詢。 如果 AccountType 資料欄中的值為
PremiumFileStorage
或PremiumFileStorage-ZRS
,則資料庫會使用 PFS 儲存體。
SELECT s.file_id,
s.type_desc,
s.name,
FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');
請注意
- 當將彈性集區從商務關鍵層擴展至一般用途層時,區域備援屬性預設會保持不變。
- 針對一般用途彈性集區變更區域備援時,擴增操作的延遲會與資料庫大小成正比。
- 不支援將現有的非超大規模彈性集區變更為超大規模版本。 如需詳細資訊,請參閱
超大規模彈性集區。 取而代之的是,資料庫需要個別新增至超大規模彈性集區。 - 不支援將超大規模彈性集區版本變更為非超大規模版本。 如需詳細資訊,請參閱
超大規模彈性集區。
提示
欲監視進行中的操作,請參閱:使用 SQL REST API 管理操作、使用 CLI 管理操作、使用 T-SQL 監視操作,以及下列兩個 PowerShell 命令:Get-AzSqlDatabaseActivity 和 Stop-AzSqlDatabaseActivity。
變更服務層級或調整計算規模時的其他考量條件
- 當您減少彈性集區的虛擬核心或 eDTU 時,集區使用的空間必須小於目標服務層級和集區計算的資料上限。
- 當您增加彈性集區的 eDTU 時,如果出現以下情況,可能會產生額外的儲存體成本:
- 集區的最大資料大小是由目標集區支援的,
- 集區的資料上限超過目標集區包括的儲存體數量。
- 例如,如果資料上限為 100 GB 的 100 eDTU 標準集區縮減為 50 eDTU 標準集區,即會產生額外的儲存體成本,因為目標集區支援的資料上限為 100 GB ,而其包括的儲存體數量只有 50 GB。 因此,額外的儲存體數量為 100 GB – 50 GB = 50 GB。 關於額外儲存體的定價,請參閱 SQL 資料庫定價。 如果實際使用的空間量小於包括的儲存容量,那麼可以透過將最大資料量減少至包括的數量來避免額外成本。
重新調整期間的計費
您的計費將根據資料庫每個小時存在期間的最高服務層級和計算大小進行,不論使用狀況或資料庫是否在當時段內啟用少於一小時。 例如,假設您建立了單一資料庫並在五分鐘後刪除,您的帳單即會反映一個資料庫時數的費用。
更改彈性集區儲存大小
您可以使用 Azure 入口網站、PowerShell、Azure CLI 或 REST API,來指定彈性集區的儲存大小 (資料上限)。 當您增加彈性集區的數據大小上限時,指定的值不能超過集區服務目標的數據大小上限。 減少資料大小上限時,指定的新值必須等於或大於集區中所有資料庫配置的空間總和。
這很重要
在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需詳細資訊,請參閱 在 Azure SQL Database 中管理資料庫的檔案空間。
以虛擬核心為基礎的購買模型
- 在一般用途層或商務關鍵型層中,彈性集區的儲存大小(最大資料大小)可以指定,最高可達使用虛擬核心購買模型之彈性集區的資源限制中指定的資料上限。 彈性集區的資料大小上限可以以 1 GB 的倍數增減。
- 彈性集區的儲存體價格為指定的資料上限乘以服務層級的儲存體單價。 如需儲存體定價的詳細資料,請參閱 SQL 資料定價。
這很重要
在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需詳細資訊,請參閱 在 Azure SQL Database 中管理資料庫的檔案空間。
以 DTU 為基礎的購買模型
- 彈性集區的 eDTU 價格包含一定數量的儲存空間,無需額外費用。 可以提供或擴充超出預設提供的額外資料儲存空間,但需支付額外費用,最高可達與所提供的 eDTU 對應的資料上限。 如需了解內含儲存體數量和資料上限,請參閱 使用 DTU 購買模型的彈性集區之資源限制。
- 彈性集區之額外儲存體的價格為額外儲存體數量乘以服務層的額外儲存體單價。 如需額外儲存體價格的詳細資料,請參閱 SQL 資料庫定價。
- 標準層或進階層彈性集區數據大小上限的有效值可以是下列其中一個值:50 GB、100 GB、150 GB、200 GB、250 GB、 300 GB、400 GB、500 GB、750 GB、800 GB、1,024 GB、1,200 GB、1,280 GB、1,536 GB、1,600 GB、1,792 GB、2,000 GB、2,048 GB、 2,304 GB、2,500 GB、2、560 GB、2、816 GB、3,000 GB、3,072 GB、3,328 GB、3,584 GB、3,840 GB、4,096 GB。 指定的數據大小上限不能超過布建 eDTU 所指定的最大數據大小限制。
這很重要
在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需詳細資訊,請參閱 在 Azure SQL Database 中管理資料庫的檔案空間。
監視或取消擴增變更
可以監視或取消服務層級變更或計算重新調整作業。
在 SQL 彈性集區 [概觀] 頁面,導覽至通知,然後選取顯示正在進行操作的磁磚:
在產生的部署進行中頁面上,選取 [取消]。
權限
若要透過 Azure 入口網站、PowerShell、Azure CLI 或 REST API 調整彈性集區,您需要 Azure RBAC 的權限,特別是貢獻者、SQL DB 貢獻者角色或 SQL Server 貢獻者 Azure RBAC 角色。 如需詳細資訊,請參閱 Azure RBAC:內建角色。