在 Azure SQL 資料庫中擴增彈性集區

適用於:Azure SQL 資料庫

本文說明了如何在 Azure SQL 資料庫中擴增彈性集區和集區資料庫的可用計算和儲存體資源。

變更計算資源 (虛擬核心或 DTU)

在初始挑選虛擬核心或 DTU 數目後,您可以使用以下方法,根據實際經驗,動態擴增或縮減彈性集區:

變更服務層級或重新調整計算大小的影響

變更彈性集區的服務層級或計算大小會遵循與單一資料庫的類似模式,並且主要涉及執行下列步驟的服務:

  1. 針對彈性集區建立新的計算執行個體

    使用必要服務層級和計算大小來為彈性集區建立新的計算執行個體。 針對某些服務層級和計算大小變更的組合,必須在新的計算執行個體中建立個別資料庫的複本,其中包含複製資料,且可能會對整體延遲造成強烈影響。 無論哪種情況,資料庫會在此步驟期間維持上線狀態,並繼續將連線導向至原始計算執行個體中的資料庫。

  2. 系統會將連線的路由切換至新的計算執行個體

    原始計算執行個體中資料庫的現有連線將被卸除。 系統會在新的計算執行個體中建立任何新的資料庫連線。 針對某些服務層級和計算大小變更的組合,系統會在切換期間將資料庫檔案中斷連結然後重新連結。 無論如何,當資料庫不可使用的情況,切換就會導致短暫的服務中斷,中斷時間一般會不會超過 30 秒,且經常僅幾秒。 如果在連線卸除時啟用長時間交易執行,則此步驟可能會需要較長時間才能復原中止的交易。 加速資料庫復原可以降低中止長時間執行交易的影響。

這很重要

工作流程中的任何步驟期間都不會遺失任何資料。

變更服務層級或重新調整計算大小的延遲

變更服務層級的估算延遲、擴增單一資料庫或彈性集區的計算大小、將資料庫移入/移出彈性集區,或在彈性集區之間移動資料庫的參數化,如下所示:

彈性集區擴增延遲 至基本、標準、一般用途彈性集區 至進階版、商務關鍵型彈性集區 至超大規模彈性集區
來自基本、標準、一般用途彈性集區 與資料庫數目成正比 •由於資料複製 ,延遲與使用的資料庫空間成正比。
•通常是每空間使用 GB 小於 1 分鐘。
N/A-資料庫需要個別新增至 超大規模彈性集區。 在擴增單一資料庫資源中記錄的每個資料庫的擴增延遲。
來自進階版、商務關鍵型彈性集區 •由於資料複製 ,延遲與使用的資料庫空間成正比。
•通常是每空間使用 GB 小於 1 分鐘。
•由於資料複製 ,延遲與使用的資料庫空間成正比。
•通常是每空間使用 GB 小於 1 分鐘。
N/A-資料庫需要個別新增至 超大規模彈性集區。 在擴增單一資料庫資源中記錄的每個資料庫的擴增延遲。
來自超大規模彈性集區 N/A N/A • 固定時間延遲,與使用空間無關。
•通常少於 2 分鐘。

請注意

  • 當變更任何非超大規模彈性集區的服務層級或擴增計算,應使用集區中跨所有資料庫使用空間總和來計算估算值。 超大規模彈性集區的擴增延遲與使用空間無關。
  • 如果彈性集區使用進階版檔案共用 (PFS) 儲存體,針對標準和一般用途的彈性集區,在彈性集區將資料庫移入/移出或在其中移動會有按資料庫大小比例的延遲。 欲判定資料庫是否使用 PFS 儲存體,請在集區中任何資料庫的內容中執行以下查詢。 如果 AccountType 資料欄中的值為 PremiumFileStoragePremiumFileStorage-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-AzSqlDatabaseActivityStop-AzSqlDatabaseActivity

變更服務層級或重新調整計算大小時的其他考量條件

  • 當您減少彈性集區的虛擬核心或 eDTU 時,集區使用的空間必須小於目標服務層級和集區計算的資料上限。
  • 當您增加彈性集區的 eDTU 時,下列情況適用額外的儲存體成本:
    • 目標集區支援的集區資料上限,以及
    • 集區的資料上限超過目標集區包括的儲存體數量。
  • 例如,如果資料上限為 100 GB 的 100 eDTU 標準集區縮減為 50 eDTU 標準集區,即會產生額外的儲存體成本,因為目標集區支援的資料上限為 100 GB ,而其包括的儲存體數量只有 50 GB。 因此,額外的儲存體數量為 100 GB – 50 GB = 50 GB。 關於額外儲存體的定價,請參閱 SQL 資料庫定價。 如果實際的使用空間量小於包括的儲存體數量,則可將資料庫上限降低至內含量,以避免造成額外成本。

重新調整期間的計費

您需要按資料庫現有使用的每個小時 + 在小時期間使用的計算大小進行支付,不論使用狀況或資料庫是否作用中少於一小時。 例如,假設您建立了單一資料庫並在五分鐘後刪除,您的帳單即會反映一個資料庫時數的費用。

變更彈性集區儲存大小

您可以使用 Azure 入口網站PowerShellAzure CLIREST API,來指定彈性集區的儲存大小 (資料上限)。 當您增加彈性集區的資料上限時,指定值不能超過集區服務目標的資料上限。 減少資料大小上限時,指定的新值必須等於或大於集區中所有資料庫配置的空間總和。

這很重要

在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需其他資訊,請參閱 管理 Azure SQL 資料庫中的檔案空間

以虛擬核心為基礎的購買模型

  • 一般用途層或商務關鍵型層中彈性集區的儲存大小(資料上限),可以指定為資料上限,具體限制在使用虛擬核心購買模型的彈性集區之資源限制。 彈性集區的資料上限可以 1 GB 的倍數增加或減少。
  • 彈性集區的儲存體價格為指定的資料上限乘以服務層級的儲存體單價。 如需儲存體定價的詳細資料,請參閱 SQL 資料定價

這很重要

在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需其他資訊,請參閱 管理 Azure SQL 資料庫中的檔案空間

以 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、1024 GB、1200 GB、1280 GB、1536 GB、1600 GB、1792 GB、2000 GB、2048 GB、2304 GB、2500 GB、2560 GB、2816 GB、3000 GB、3072 GB、3328 GB、3584 GB、3840 GB、4096 GB。 指定的資料上限不能超過佈建 eDTU 所指定的資料上限。

這很重要

在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需其他資訊,請參閱 管理 Azure SQL 資料庫中的檔案空間

監視或取消擴增變更

可以監視或取消服務層級的變更或計算重新調整的操作。

在 SQL 彈性集區 [概觀] 頁面,導覽至通知,然後選取指示正在進行操作的標題:

Screenshot from the Azure portal of an ongoing deployment in progress.

在產生的部署進行中頁面上,選取 [取消]

權限

欲透過Azure 入口網站、PowerShell、Azure CLI 或 REST API 擴增資料庫,則需要 Azure RBAC 權限,特別是參與者、SQL DB 參與者角色或 SQL Server 參與者 Azure RBAC 角色。 如需其他資訊,請參閱 Azure RBAC 內建角色

如需整體資源限制,請參閱 SQL 資料庫基於虛擬核心的資源限制-彈性集區SQL 資料庫基於 DTU 的資源限制-彈性集區