您可以使用 Azure 入口網站、Azure CLI、PowerShell 或 Transact-SQL,將 Azure SQL Database 中的現有資料庫轉換為超大規模資料庫。
Prerequisites
若要將使用 地理複寫 或屬於 故障轉移群組 的資料庫轉換為 Hyperscale,請先轉換主要複本。 異地次要副本會自動被切換。 你可以透過使用 T-SQL、REST API、PowerShell 或 Azure CLI,將地理複製的非超大規模資料庫轉換成超大規模資料庫。
不支援從 Basic 服務層直接轉換到 Hyperscale。 若要執行此轉換,請先將資料庫變更為基本以外的任何服務層級(例如一般用途),然後繼續進行超大規模資料庫轉換。
不支援將資料庫從區域冗餘彈性池直接移動到非區域冗餘的超尺度池。 要完成此轉換,首先將資料庫從彈性池中移除,並轉換成獨立資料庫。 接著,關閉資料庫的區域冗餘。 完成這些步驟後,即可將資料庫新增至新的或現有的非區域備援 Hyperscale 集區。
您可以使用 T-SQL 監視轉換的進度。 若要在 Azure SQL Database 上執行 T-SQL 命令,請使用 SQL Server Management Studio (SSMS)、Visual Studio Code、sqlcmd 或您慣用的 T-SQL 查詢工具的 MSSQL 擴充功能。
使用異地複本轉換資料庫
當您轉換 異地複寫 關聯性中的資料庫時,轉換程式會保留異地複寫連結。 主要資料庫和異地次要資料庫都會一起轉換成超大規模資料庫。
- 你必須先轉換主要地理複本,才能開始轉換為 Hyperscale。 嘗試轉換異地次要複本會導致錯誤: 異地次要複本 'database-name-placehold' 無法轉換成超大規模。若要將主要複本和異地次要複本轉換成超大規模模式,請在主要複本上重試作業。
- 將地質次級副本數量減少至一個以啟動轉換過程。
- 超大規模資料庫不支援建立異地複本的異地複本(也稱為「異地複本鏈結」)。 如果存在連鎖的地理複製配置,請在開始轉換成超大規模前將其移除。
- 當異地主資料庫轉換為超大規模資料庫正在進行時,就無法進行計劃性故障轉移。 可以強制故障轉移至異地次要複本。 不過,根據強制故障轉移發生時的轉換狀態,故障轉移後的新的地理主伺服器可能會使用 Hyperscale 服務層或其原始服務層。
- 如果一個地理主要資料庫在彈性池中,你可以在轉換過程中將其移至現有的超大規模彈性池,或將其設為獨立的超大規模資料庫。 不過,如果地理次要資料庫位於彈性集區中,則轉換成 Hyperscale 總是會將其移出集區。 轉換完成後,您可以以單獨步驟將地理輔助資料庫移至超大規模彈性資料庫集區。
Cutover
轉換過程分為兩個階段:在資料庫上線時 進行轉換 ,然後 切換 到新的超大規模資料庫。
將現有資料庫移至超大規模資料庫所需的時間包括複製資料的時間,以及複製數據時重新執行源資料庫中所做的變更的時間。 雖然數據複製時間會隨著資料庫大小大致調整,但實際的複製速度可能會因為網路輸送量、I/O 頻寬、記憶體延遲和暫時性服務負載等因素而有所不同。 建議您在較低的寫入活動期間轉換為超大規模資料庫,以便重新執行累積變更的時間較短。 建議使用手動轉換來控制下一階段。
您可以選擇何時進行切換——一旦資料庫準備就緒時立即進行,或在您選定的時間手動實施。 默認情況下,轉換為超大規模的過程將自動切換。
- 如果你選擇在選擇的時間手動切換,資料庫準備好切換後,你有 24 小時的時間可以啟動手動切換。 您可以透過 Azure 入口網站、Azure CLI、PowerShell 或 T-SQL 來起始手動完全移轉。
當資料庫處於可切換的狀態時,系統仍會持續複製並重播來源資料庫中的變更,但會從非同步複製切換到同步複製。 這種同步複製在寫入密集型工作負載下可能會增加寫入延遲,直到切換完成。
在最後一次切換至超大規模資料庫期間,您的應用程式只會經歷短暫的停機時間,通常不到一分鐘。
你可以在Azure入口網站(進度報告頁面)、Azure CLI(az sql db 操作清單)、PowerShell(Get-AzSqlDatabaseActivity)或使用 T-SQL(sys.dm_operation_status)監控轉換過程的多個階段。
當你將資料庫從高級或商業關鍵服務層級轉換成超大規模時,該流程會在第一階段斷開現有的客戶端連線。 這種斷線類似於在不同服務層級間擴展資料庫時所發生的斷線。 應用程式應設計為透過實作重試邏輯,以正常處理暫時性連線中斷,如 暫時性錯誤的重試邏輯中所述。
將資料庫轉換為超大規模資料庫
若要將現有的 Azure SQL Database 轉換為超大規模資料庫,請先識別您的目標服務目標。
如果你不確定哪個服務目標適合你的資料庫,請檢視 單一資料庫的資源限制 。 在許多情況下,您可以選擇與原始資料庫相同虛擬核心數目和硬體代的服務目標。 如有需要,您可以稍後在最短停機時間的情況下 變更服務目標 。 超大規模資料庫計費只會在完全移轉之後開始。
請選擇頁籤來選擇您偏好的資料庫轉換方式:
Azure 入口網站可讓您修改資料庫的服務層級,以轉換成超大規模資料庫。
- 在 Azure 入口網站中進入你想轉換的資料庫。
- 在左側導覽列中,選取 [計算 + 記憶體]。
- 選取 [服務層級 ] 下拉式清單,以展開服務層級的選項。
- 如果您使用 Azure SQL Database 免費供應專案,請選取按鈕以移除 免費資料庫供應專案。 然後您會看到 [服務層級 ] 下拉式清單。
- 從下拉式清單中選取 [ 超大規模規模 ]。
- 檢閱計算層,然後選擇佈建或無伺服器。
- 檢閱 [遷移模式],這是轉換至 Hyperscale 特有的選擇。
- 在資料庫準備轉換至超大規模之後,會進行系統切換。
切換模式決定何時在轉換為超大規模時,與現有 Azure SQL Database 的連線暫時中斷:
- 自動切換會在 超大規模資料庫準備就緒後立即執行切換。
- 手動移轉 提示您在 Azure 入口網站中選擇時間啟動移轉過程。 這個選項最適合選擇移轉過程的最佳時間,以減少業務中斷。
- 在資料庫準備轉換至超大規模之後,會進行系統切換。
切換模式決定何時在轉換為超大規模時,與現有 Azure SQL Database 的連線暫時中斷:
- 檢閱列出的 硬體組態 。 如有需要,請選取 [ 變更組態 ] 以為您的工作負載選取適當的硬體組態。
- 如果你想在超大規模服務層級中更改資料庫可用的 vCore 數量,請選擇 vCore 滑桿。
- 如果您想要變更 Hyperscale 服務層級下的複本數量,請選取 高可用性次要複本 滑桿。
- 選取 ,然後套用。
- 在 Azure 入口網站中監視轉換。
- 進入 Azure 入口網站的資料庫。
- 在左側導覽列中,選取 概 觀。
- 檢閱右窗格底部的 [通知] 區段。 如果作業正在進行中,則會顯示通知方塊。
- 選取通知方塊以檢視詳細資料。
- 進行中的作業窗格隨即開啟。 檢閱進行中作業的詳細資料。
如果您選取 [手動完全移轉],Azure 入口網站會在準備就緒時顯示 [完全移轉] 按鈕。