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

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

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

重要

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

注意

Microsoft Entra 標識符 先前稱為 Azure Active Directory (Azure AD)。

影響

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

  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

監視或取消調整變更

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

在 [SQL 資料庫 概觀 ] 頁面中,尋找橫幅,指出調整作業正在進行中,然後選取 進行中部署的 [ 查看更多] 連結。

Screenshot from the Azure portal showing a scaling operation in progress.

在產生的 [進行中作業 ] 頁面上,選取 [ 取消此作業]。

Screenshot from the Azure portal showing the Ongoing operations page and the cancel this operation button.

權限

若要透過 Transact-SQL 調整資料庫, ALTER DATABASE 則會使用 。 若要調整資料庫,登入必須是伺服器管理員登入(在布建 Azure SQL 資料庫 邏輯伺服器時建立)、伺服器的 Microsoft Entra 管理員、中的 dbmanager 資料庫角色成員、目前資料庫中db_owner資料庫角色master的成員,或是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 資料庫 會自動增加 30% 的記憶體以用於事務歷史記錄。 單一資料庫或彈性集區的儲存體價格為資料儲存體和交易記錄儲存體數量的總和乘以服務層的儲存體單價。 例如,如果數據記憶體設定為 10 GB,則額外的事務歷史記錄記憶體為 10 GB * 30% = 3 GB,而可計費記憶體的總金額為 10 GB + 3 GB = 13 GB

    注意

    事務歷史記錄檔的大小上限會自動管理,在某些情況下可能會大於數據記憶體大小上限的 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 匯入匯出資料。

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