說明在 Azure 中部署 SQL Server 的 PaaS 選項

已完成

平臺即服務 (PaaS) 提供雲端中完整的開發和部署環境,可用於簡單的雲端式應用程式和進階企業應用程式。

Azure SQL Database 和 Azure SQL 受控實例是適用於 Azure SQL 的 PaaS 供應專案的一部分。

  • Azure SQL Database – 雲端中 SQL Server 引擎建置的一系列產品。 它可讓開發人員在大規模建置新的應用程式服務和細微的部署選項方面有很大的彈性。 SQL Database 提供的低維護解決方案,對於某些工作負載而言可能是絕佳的選項。

  • Azure SQL 受控實例 – 它最適合大部分移轉至雲端的案例,因為它提供完全受控的服務與功能。

PaaS 解決方案的平臺管理

每個供應項目都會依據成本效益的程度,提供您透過基礎結構擁有的特定層級管理。

部署模型

Azure SQL Database 適用於兩種不同的部署模型:

  • 單一資料庫 – 以每個資料庫層級計費和管理的單一資料庫。 您可以從縮放比例和數據大小檢視方塊個別管理每個資料庫。 此模型中部署的每個資料庫都有自己的專用資源,即使部署到相同的邏輯伺服器也一樣。

  • 彈性集區 – 一組一起管理的資料庫,並共用一組常見的資源。 彈性集區為軟體即服務應用程式模型提供符合成本效益的解決方案,因為資源會在所有資料庫之間共用。 您可以根據以 DTU 為基礎的購買模型或以虛擬核心為基礎的購買模型來設定資源。

購買模式

在 Azure 中,所有服務都支援實體硬體,而且您可以彈性地選擇兩種不同的購買模型:

資料庫交易單位 (DTU)

以 DTU 為基礎的購買模型 是根據結合計算、記憶體和 I/O 資源的公式來計算。 對於想要簡單、預先設定的資源選項的客戶來說,這是不錯的選擇。

DTU 購買模型有數個不同的服務層級,例如基本、標準和進階。 每一層都有不同的功能,在選擇此平臺時提供各種不同的選項。

就效能而言,基本層用於較不苛刻的工作負載,而進階層則用於密集的工作負載需求。

計算和記憶體資源相依於 DTU 層級,而且會以固定記憶體限制、備份保留和成本提供一系列效能功能。

如需 DTU 購買模型的詳細資訊,請參閱 以 DTU 為基礎的購買模型概觀

vCore

以虛擬核心為基礎的購買模型可讓您根據指定的工作負載購買指定的虛擬核心數目。 虛擬核心是購買 Azure SQL Database 資源時的預設購買模型。 虛擬核心資料庫在核心數目與提供給資料庫的記憶體和記憶體數量之間具有特定關聯性。 Azure SQL Database 和 Azure SQL 受控實例都支持虛擬核心購買模型。

您也可以在三個不同的服務層級中購買虛擬核心資料庫:

服務層 適用對象 儲存區類型 延遲 計算層 復原功能 資料庫大小上限
常規用途 一般用途工作負載 Azure 進階儲存體 高於 BC 已布建、無伺服器 N/A 4 TB
業務關鍵 高效能的工作負載 本機 SSD 最低 已佈建 內建只讀複本,最高失敗復原能力 4 TB
超大規模資料庫 大型資料庫 Azure 進階儲存體 不定 已佈建 調整的唯一架構 100 TB

一般用途服務層級提供兩種計算選項: 已布建無伺服器。 布建的資源會根據設定的虛擬核心進行預先配置和每小時計費,非常適合一致的工作負載。 無伺服器資源會根據需求自動調整,並每秒計費,使其符合成本效益的變數工作負載。

無伺服器

「無伺服器」一詞可能會產生誤導,因為您仍會將 Azure SQL Database 部署到邏輯伺服器以進行連線。 無伺服器 是一種計算層,可根據工作負載需求自動相應增加或減少資源。 當工作負載不再需要計算資源時,資料庫會暫停,且只會在非使用中期間計費記憶體。 嘗試連線時,資料庫會繼續並變成可用狀態。

Azure SQL Database 的無伺服器使用範例

控制暫停的設定稱為自動暫停延遲,最小值為 60 分鐘,最大值為 7 天。 如果資料庫在該期間保持閑置狀態,則會暫停。

一旦資料庫在指定時間處於非使用中狀態,它就會暫停,直到後續的連線嘗試為止。 設定計算自動調整範圍和自動暫停延遲會影響資料庫效能和計算成本。

使用無伺服器的應用程式應該設定為處理連線錯誤,並包含重試邏輯,因為連接到暫停的資料庫會產生連線錯誤。

Azure SQL Database 無伺服器和標準虛擬核心模型的另一個差異是,使用無伺服器,您可以指定虛擬核心數目的最小值和最大值。 記憶體和 I/O 限制會與指定的範圍成正比。

在 Azure 入口網站中顯示無服務設定的 Screeshot。

此影像顯示 Azure 入口網站中無伺服器資料庫的組態畫面。 您可以選擇至少選取一半的虛擬核心,以及上限為16個虛擬核心。

無伺服器與 Azure SQL Database 中的所有功能完全相容,因為其中一些功能需要背景進程持續執行,例如:

  • 地理複製
  • 長期備份保留期
  • 彈性作業中的作業資料庫
  • SQL 資料同步中的同步資料庫 (資料同步是一項服務,可復寫資料庫群組之間的數據)

備註

虛擬核心購買模型中的一般用途層目前僅支持無伺服器。

備份

平臺即服務供應專案最重要的功能之一是備份。 在此情況下,系統會自動執行備份,而不需要您介入。 Azure Blob 異地備援記憶體會儲存這些備份,根據資料庫的服務層級,預設會保留這些備份 7 到 35 天。 基本和虛擬核心資料庫預設為7天的保留期,而系統管理員可以調整虛擬核心資料庫的此值。 您可以設定長期保留期 (LTR),以延長保留時間,讓您保留備份最多 10 年。

為了提供備援,您也可以使用可讀取的異地備援 Blob 記憶體。 此記憶體會將您的資料庫備份復寫至喜好設定的次要區域。 它也可讓您視需要從該次要區域讀取。 不支援手動備份資料庫,而且平臺會拒絕執行此動作的任何要求。

資料庫備份是以指定的排程進行:

  • 完整 – 一週一次
  • 差異 – 每 12 小時
  • 日誌– 每 5-10 分鐘,視事務歷史記錄活動而定

此備份排程應符合大部分恢復點/時間目標的需求(RPO/RTO),不過,每位客戶都應該評估是否符合您的業務需求。

有數個選項可用來還原資料庫。 由於平臺即服務的性質,您無法使用傳統方法手動還原資料庫,例如發出 T-SQL 命令 RESTORE DATABASE

無論實作哪一個還原方法,都無法透過現有的資料庫進行還原。 如果需要還原資料庫,必須先卸除或重新命名現有的資料庫,才能起始還原程式。 此外,請記住,視平臺服務層級而定,還原時間不保證且可能會變動。 建議您測試還原程式,以取得還原可能花費的時間基準計量。

  • 使用 Azure 入口網站還原 – 使用 Azure 入口網站,您可以選擇將資料庫還原至 Azure SQL Database 的相同邏輯伺服器,也可以使用還原在任何 Azure 區域中的新伺服器上建立新的資料庫。

  • 使用腳本語言還原 – 您可以使用 PowerShell 和 Azure CLI 來還原資料庫。

備註

僅限複製備份至 Azure Blob 儲存體可供 SQL 受控執行個體使用。 SQL Database 不支援此功能。

如需自動備份的詳細資訊,請參閱 自動備份 - Azure SQL Database 和 Azure SQL 受控實例

主動式地理複寫

異地復 寫是一項商務持續性功能,會以異步方式將資料庫複寫到最多四個次要複本。 由於交易會認可至主要複本(以及相同區域內的複本),交易會傳送至要重新執行的次要複本。 由於此通訊是以異步方式完成,呼叫端應用程式不需要等待次要複本認可交易,SQL Server 才會將控制權傳回給呼叫端。

輔助資料庫是可讀取的,可用來卸除只讀工作負載,從而釋放主要工作負載上的交易式工作負載資源,或將數據放在更接近您的使用者。 此外,輔助資料庫可以位於與主要或另一個 Azure 區域中相同的區域

您可以手動由使用者或應用程式以程式設計方式起始故障轉移。 如果發生故障轉移,您可以更新應用程式連接字串,以反映現在主資料庫的新端點。

故障轉移群組

故障轉移群組 建置在異地複寫所使用的技術之上,但提供單一端點進行連線。 使用故障轉移群組的主要原因是它們提供可用來將流量路由傳送至適當複本的端點。 接著,您的應用程式可以在故障轉移之後連線,而不需要變更連接字串。