在 Azure SQL Database 中調整單一資料庫資源

本文說明如何在佈建計算層中的 Azure SQL Database 調整可用的計算和儲存資源。 或者,無伺服器計算層會針對使用的計算,提供每秒的計算自動調整和帳單。

一開始挑選虛擬核心或 DTU 數目後,您可以使用下列方式,根據實際經驗,動態放大或縮小單一資料庫:

重要

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

影響

變更服務層級或計算大小主要牽涉到服務執行下列步驟:

  1. 為資料庫建立新的計算執行個體。

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

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

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

重要

工作流程中的任何步驟期間都不會遺失任何資料。 當服務層級變更時,請確定您已在使用 Azure SQL Database 的應用程式和元件中實作了一些重試邏輯

Latency

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

服務層級 基本單一資料庫、
標準 (S0-S1)
基本彈性集區、
標準 (S2-S12)、
一般用途單一資料庫或彈性集區
進階或業務關鍵單一資料庫或彈性集區 超大規模資料庫
基本單一資料庫、
標準 (S0-S1)
• 固定時間延遲 (與使用的空間無關)
• 通常少於 5 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
基本彈性集區、
標準 (S2-S12)、
一般用途單一資料庫或彈性集區
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 針對單一資料庫,固定時間延遲 (與所使用的空間無關)
• 通常不到 5 分鐘 (適用於單一資料庫)
• 針對彈性集區,會按資料庫數目的比例
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
進階或業務關鍵單一資料庫或彈性集區 • 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
• 由於資料複製,會有按所使用的資料庫空間比例的延遲
• 通常是每 GB 使用的空間小於 1 分鐘
超大規模資料庫 N/A 請參閱 從超大規模資料庫反向遷移 N/A • 固定時間延遲 (與使用的空間無關)
• 通常少於 2 分鐘

注意

此外,如果資料庫使用進階版檔案共用 (PFS) 儲存體,針對標準 (S2 S12) 和一般用途的資料庫,在彈性集區中移入/移出資料庫,或在彈性集區之間移動資料庫會有按資料庫大小比例的延遲。

若要判斷資料庫是否使用 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

取消變更

可以取消服務層級變更或計算重新調整作業。

Azure 入口網站

在 [資料庫概觀] 刀鋒視窗中,導覽至 [通知],然後按一下表示有進行中作業的圖格:

進行中的作業

接著,按一下標示為 [取消此作業] 的按鈕。

取消進行中的作業

PowerShell

在 PowerShell 命令提示字元中,設定 $resourceGroupName$serverName$databaseName,然後執行下列命令:

$operationName = (az sql db op list --resource-group $resourceGroupName --server $serverName --database $databaseName --query "[?state=='InProgress'].name" --out tsv)
if (-not [string]::IsNullOrEmpty($operationName)) {
    (az sql db op cancel --resource-group $resourceGroupName --server $serverName --database $databaseName --name $operationName)
        "Operation " + $operationName + " has been canceled"
}
else {
    "No service tier change or compute rescaling operation found"
}

權限

若要透過 T-SQL 調整資料庫,則需要 ALTER DATABASE 許可權。 若要調整資料庫,登入必須是Azure SQL資料庫邏輯伺服器布建) 時所建立的伺服器管理員登入 (、伺服器的 Azure AD 管理員、中 dbmanager 資料庫角色 master 的成員、目前資料庫中db_owner資料庫角色的成員或 dbo 資料庫的成員。 如需詳細資訊,請參閱 ALTER DATABASE

若要透過Azure 入口網站、PowerShell、Azure CLI 或 REST API 調整資料庫,則需要 Azure RBAC 許可權,特別是參與者、SQL DB 參與者角色或SQL Server參與者 Azure RBAC 角色。 如需詳細資訊,請造訪 Azure RBAC 內建角色

其他考量

  • 如果您要升級到較高服務層級或計算大小,除非明確指定較大的大小 (大小上限),否則資料庫大小上限不會增加。
  • 若要將資料庫降級,資料庫已用的空間必須小於目標服務層級和計算大小允許的大小上限。
  • 進階降級至標準層時,如果發生下列情況,將會產生額外的儲存體成本:(1) 以目標計算大小支援資料庫的大小上限,而且 (2) 大小上限超過目標計算大小的內含儲存體數量。 例如,如果大小上限為 500 GB 的 P1 資料庫縮減為 S3,即會產生額外的儲存體成本,因為 S3 可支援 1 TB 的大小上限,而且其內含儲存體數量只有 250 GB。 因此,額外的儲存體數量為 500 GB – 250 GB = 250 GB。 如需額外儲存體的價格詳細資訊,請參閱 Azure SQL Database 定價。 如果實際的使用空間量小於內含的儲存體數量,則可將資料庫大小上限降低至內含量,以避免造成額外成本。
  • 升級資料庫時,若已啟用異地複寫,您必須先將其次要資料庫升級為所需的服務層級與計算大小,然後再升級主要資料庫 (最佳效能的一般指引)。 升級至不同的版本時,需要先升級次要資料庫。
  • 當您在啟用異地複寫的情況下將資料庫降級時,必須先將其主要資料庫降級為所需的服務層級與計算大小,然後再將次要資料庫降級 (最佳效能的一般指引)。 降級至不同的版本時,需要先降級主要資料庫。
  • 還原服務會針對各種服務層級提供不同的供應項目。 如果降級至 [基本] 層,會有較短的備份保留期間。 請參閱 Azure SQL Database 備份
  • 完成變更之前,不會將新屬性套用至資料庫。
  • 如果在變更服務層時需要複製資料以縮放資料庫 (請參閱延遲),則在縮放作業進行的同時所產生的高資源使用率,可能會導致縮放時間較久。 使用加速資料庫復原 (ADR) 時,復原長時間執行的交易不是主要的延遲來源,但如果同時的資源使用量很高,留給縮放作業使用的計算、儲存體和網路頻寬資源就可能會變少,此情況在計算大小較小時尤其明顯。

計費

您需要支付使用最高服務層級資料庫存在的時數 + 在該小時適用的計算大小,不論使用狀況或資料庫是否在作用中少於一小時。 例如,假設您建立了單一資料庫並在五分鐘後刪除,您的帳單就會反映一個資料庫時數的費用。

變更儲存體大小

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

  • 可以使用 1GB 為增量單位,將儲存體佈建到資料儲存體大小上限。 資料儲存體的最小可設定值是 1 GB。 針對每個服務目標中的資料儲存體大小上限,請參閱資源限制文件頁面,以了解使用虛擬核心購買模型的單一資料庫資源限制以及使用 DTU 購買模型的單一資料庫資源限制
  • 藉由使用 Azure 入口網站Transact-SQLPowerShellAzure CLIREST API 增加或減少其大小上限,即可佈建單一資料庫的資料儲存體。 如果大小上限值是以位元組為單位指定,則必須是 1 GB (1073741824 位元組) 的倍數。
  • 資料庫資料檔案中可儲存的資料量會受限於設定的資料儲存體大小上限。 除了該儲存體以外,Azure SQL Database 會自動配置 30% 以上的儲存體,以供交易記錄使用。
  • Azure SQL Database 會為 tempdb 資料庫的每個虛擬核心自動配置 32 GB。 tempdb 位於所有服務層級中的本機 SSD 儲存體上。
  • 單一資料庫或彈性集區的儲存體價格為資料儲存體和交易記錄儲存體數量的總和乘以服務層的儲存體單價。 價格中包含 tempdb 的成本。 如需儲存體價格的詳細資訊,請參閱 Azure SQL Database 定價

重要

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

以 DTU 為基礎的購買模型

  • 單一資料庫的 DTU 價格包含一定數量不額外收費的儲存體。 佈建超過內含量的額外儲存體會產生額外費用,以 250 GB 為單位最多增加到大小上限 1 TB,超過 1 TB 則以 256 GB 為單位增加。 如需了解內含儲存體數量與大小上限,請參閱單一資料庫:儲存體大小與計算大小
  • 可以透過使用 Azure 入口網站、Transact-SQLPowerShellAzure CLIREST API 增加其大小上限,以佈建單一資料庫的額外儲存體。
  • 單一資料庫之額外儲存體的價格為額外儲存體數量乘以服務層的額外儲存體單價。 如需有關額外儲存體的價格詳細資訊,請參閱 Azure SQL Database 定價

重要

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

異地複寫的資料庫

若要變更複寫次要資料庫的資料庫大小,請變更主要資料庫的大小。 然後,此變更也會在次要資料庫上進行複寫和實作。

當大小上限大於 1 TB 時的 P11 和 P15 條件約束

進階階層中有超過 1 TB 的儲存體目前可供中國東部、中國北部、德國中部和德國東北部除外的所有區域使用。 在這些區域中,進階層中的儲存空間上限為 1 TB。 下列考量與限制適用於大小上限大於 1 TB 的 P11 和 P15 資料庫:

  • 如果 P11 或 P15 資料庫的大小上限設定為大於 1 TB 的值,則只能將其還原或複製到 P11 或 P15 資料庫。 接著,如果在重新調整作業時配置的空間量不超過新計算大小的大小上限,則可將資料庫重新調整至不同的計算大小。
  • 若是作用中異地複寫案例:
    • 設定異地複寫關聯性:如果主要資料庫是 P11 或 P15,則次要資料庫也必須是 P11 或 P15。 較低的計算大小會遭拒絕成為次要資料庫,因為其無法支援超過 1 TB。
    • 在異地複寫關聯性中升級主要資料庫:將主要資料庫的大小上限變更為 1 TB 以上會在次要資料庫中觸發相同的變更。 這兩種升級方式都必須成功,在主要資料庫中的變更才會生效。 適用於大於 1-TB 選項的區域限制。 如果次要資料庫位於不支援大於 1 TB 的區域,就無法升級主要資料庫。
  • 不支援使用匯入/匯出服務載入具有 1 TB 以上 P11/P15 資料庫的功能。 使用 SqlPackage.exe 來匯入匯出資料。

後續步驟

如需整體資源限制,請參閱Azure SQL Database 以虛擬核心為基礎的資源限制 - 單一資料庫Azure SQL Database 以 DTU 為基礎的資源限制 - 單一資料庫