共用方式為


從適用於 Postgresql 的 Azure 資料庫單一伺服器自動移轉至彈性伺服器

適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器

從適用於 Postgresql 的 Azure 資料庫單一伺服器自動移轉至彈性伺服器是服務在計劃的停機時段內啟動的移轉,針對的目標是執行 PostgreSQL 11 的單一伺服器和資料庫工作負載 (具有基本、一般用途或記憶體最佳化 SKU,使用的資料儲存體 <= 5 GiB未啟用複雜功能 (CMK,Microsoft Entra ID、讀取複本、Private Link 或 VNet 規則))。 該服務會識別合格的伺服器,並傳送事前通知,詳細說明檢閱移轉詳細資料,並在必要時進行修改的步驟。

自動移轉會在規劃的移轉期間提供高度復原性和自我修復的離線移轉體驗,最多 20 分鐘 停機。 移轉服務是一種託管的解決方案,使用 pgcopydb 二進位檔,並提供快速且有效率的方式,將資料庫從來源 PostgreSQL 執行個體複製到目標。 此移轉可移除手動移轉伺服器的額外負荷。 移轉後,您可以利用彈性伺服器的優點,包括價格和效能更理想、對資料庫設定的細微控制,以及自訂維護時段。 以下描述是移轉的主要階段:

  • 目標彈性伺服器會部署 ,並在效能和成本方面符合您的單一伺服器 SKU,並繼承來源單一伺服器的所有防火牆規則。

  • 日期移轉 會在服務或您選取的移轉時段期間發生。 如果該時段由服務選擇,通常會在伺服器託管的特定區域的上班時間以外。 來源單一伺服器設定為唯讀,並將資料與結構描述從來源單一伺服器移轉至目標彈性伺服器。 所有資料庫物件的使用者角色、權限和所有權也會移轉至彈性伺服器。

  • DNS 交換器和完全移轉 會在規劃的移轉時段內執行,且停機時間最短,允許在移轉後使用相同的連接字串。 用戶端應用程式可以順暢地連線到目標彈性伺服器,而不需要任何使用者驅動的手動更新或變更。 除了在移轉的彈性伺服器上支援兩種連接字串格式 (單一和彈性伺服器),移轉的彈性伺服器也同時支援兩種使用者名稱格式:username@server_name 和使用者名稱。

  • 移轉的彈性伺服器已上線,現在可以透過 Azure 入口網站/CLI 進行管理。

  • 如果您已在 Azure 入口網站上啟用服務健康狀態通知,則連線到舊單一伺服器的已更新連接字串會透過電子郵件與您共用。 或者,您可以在單一伺服器入口網站頁面的 [設定] -> [連接字串] 底下找到連接字串。 如果您想要將任何設定複製到新的彈性伺服器,可以使用連接字串來登入單一伺服器。

  • 在移轉後的 七天內 刪除 舊版單一伺服器

注意

自動移轉服務會根據下列條件選取要移轉的單一伺服器:

  • 執行 PostgreSQL 版本 11 的伺服器
  • 沒有複雜功能 (例如 CMK、Microsoft Entra ID、讀取複本、VNet 規則和私人端點) 的伺服器
  • 數據 <大小 = 10 GB
  • 已啟用公用存取

上述篩選條件會用來選取要自動移轉的伺服器。 使用者也可以自行提名要移轉的伺服器。 提名程序更靈活,並非所有篩選條件都適用。

提名要自動移轉的單一伺服器

提名程序適用於想要自願快速追蹤移轉至彈性伺服器的使用者。 如果您擁有單一伺服器工作負載,您現在可以自行提名 (如果尚未由服務排程),以進行自動移轉。 透過此 表單 提交您的伺服器詳細資料。

設定移轉警示並檢閱移轉排程

符合自動移轉資格的伺服器會由服務傳送事前 Azure 健康情況通知。 健康情況通知會在移轉日期前 30 天、14 天和 7 天 傳送。 當移轉 進行中、已完成,以及移轉 6 天後 卸除舊版單一伺服器之前,也會傳送通知。 您可以檢查並設定 Azure 入口網站,以透過電子郵件或簡訊接收自動移轉通知。

以下描述的是檢查及設定自動移轉通知的方式:

  • 排程自動移轉之單一伺服器的訂用帳戶擁有者會收到電子郵件通知。
  • 請按照 這裡 的步驟設定 服務健康情況警示,以透過電子郵件/簡訊接收自動移轉排程和進度通知。
  • 請依照 此處 的步驟,檢查 Azure 入口網站上的自動移轉 通知

以下是在您收到自動移轉通知之後檢閱移轉排程的方式:

注意

移轉排程將在排定的移轉時段前 7 天鎖定,在此期間內您將無法重新排程。

  • 執行個體的單一伺服器概觀頁面會顯示入口網站橫幅,其中包含移轉排程的相關資訊。
  • 針對排定進行自動移轉的單一伺服器,概觀 頁面會更新相關資訊。 您可以瀏覽至單一伺服器執行個體的 [概觀] 頁面,以檢閱移轉排程。
  • 如果您想要延遲移轉,您可以在 Azure 入口網站上一次延遲一個月。 您可以在一個月內選取另一個移轉時段,以重新排程移轉。

注意

一般而言,自動移轉的候選伺服器不會使用跨區域或異地備援備份。 這些功能只能在 postgresql 彈性伺服器建立期間啟用。 如果您打算使用任何這些功能,建議您退出自動移轉排程,並手動移轉伺服器。

自動移轉的必要條件檢查

請檢閱下列必要條件,以確保自動移轉成功:

  • 在規劃的移轉時段,單一伺服器執行個體應該處於 就緒狀態,以便進行自動移轉。
  • 針對已啟用 SSL的單一伺服器執行個體,請確定您擁有信任根存放區中可用的所有憑證 (DigiCertGlobalRootG2 根 CADigiCertGlobalRootCA 根 CA)。 此外,如果您已將憑證釘選到連接字串,請在排程的自動移轉之前,使用全部三個憑證建立合併的 CA 憑證,以確保移轉後的商務持續性。
  • 如果您的來源適用於 postgresql 單一伺服器的 Azure 資料庫具有超過 80 個字元的防火牆規則名稱,請將其重新命名,以確保名稱長度少於 80 個字元。 (彈性伺服器支援的防火牆規則名稱長度為 80 個字元,而在單一伺服器上,允許的長度為 128 個字元。)

目標 postgresql 彈性伺服器如何佈建?

目標彈性伺服器的計算層和 SKU 會根據來源單一伺服器的定價層和 VCores 佈建,如下所示。

單一伺服器定價層 單一伺服器虛擬核心 彈性伺服器層 彈性伺服器 SKU 名稱
基本 1 可高載 B1ms
基本 2 可高載 B2s
一般用途 2 GeneralPurpose Standard_D2s_v3
一般用途 4 GeneralPurpose Standard_D4s_v3
一般用途 8 GeneralPurpose Standard_D8s_v3
一般用途 16 GeneralPurpose 標準 D16s_v3
一般用途 32 GeneralPurpose 標準 D32s_v3
一般用途 64 GeneralPurpose Standard_D64s_v3
記憶體最佳化 2 MemoryOptimized 標準 E2s_v3
記憶體最佳化 4 MemoryOptimized 標準 E4s_v3
記憶體最佳化 8 MemoryOptimized 標準 E8s_v3
記憶體最佳化 16 MemoryOptimized 標準 E16s_v3
記憶體最佳化 32 MemoryOptimized 標準 E32s_v3
  • 目標彈性伺服器的 postgresql 版本、區域、連接字串、訂用帳戶和資源群組會與來源單一伺服器相同。
  • 對於小於 20 GB 記憶體的單一伺服器,記憶體大小會設定為 32 GB,因為這是適用於 postgresql 的 Azure 資料庫 - 彈性伺服器的最小記憶體限制。
  • 對於記憶體需求更高的單一伺服器,足夠的記憶體相當於配置單一伺服器所使用記憶體數量的 1.25 倍或多 25%。 在製作初始的基底資料複本期間,系統會在目標上執行多個插入陳述式,而產生 WAL (預寫記錄)。 封存這些 WAL 之前,記錄會取用目標上的記憶體,因此是安全邊界。
  • 移轉的彈性伺服器上同時支援兩種使用者格式:username@server_name (單一伺服器) 和使用者名稱 (彈性伺服器)。
  • 移轉的彈性伺服器也同時支援兩種連接字串格式:單一伺服器和彈性伺服器格式。

移轉後步驟

以下是您在自動移轉後必須知道的資訊:

  • 彈性伺服器中的伺服器參數會調整為社群標準。 如果您想要保留與單一伺服器相同的伺服器參數值,您可以透過 PowerShell 登入並執行 這裡 的指令碼以複製參數值。
  • 若要啟用 查詢效能深入解析,您必須在預設未啟用的彈性伺服器上啟用查詢存放區
  • 如果需要 高可用性,您可以在零停機的情況下加以啟用。

處理彈性伺服器中的 VNet 規則

在 適用於 PostgreSQL 的 Azure 資料庫 單一伺服器中,虛擬網路 (VNet) 規則是伺服器存取控制清單 (ACL) 中列出的子網。 此規則可讓單一伺服器接受來自該特定子網內節點的通訊。 針對彈性伺服器,不支援 VNet 規則。 相反地,彈性伺服器允許建立 私人端點,讓伺服器能夠在虛擬網路內運作。 私人端點會將私人IP指派給彈性伺服器,而虛擬網路與伺服器之間的所有流量都會透過 Azure 骨幹網路安全地移動,而不需要公開因特網。

移轉之後,您必須針對先前在單一伺服器上 VNet 規則涵蓋的所有子網,將私人端點新增至彈性伺服器。 您可以使用 Azure 入口網站或 Azure CLI 來完成此程式。 完成此步驟之後,在從單一伺服器移轉之後,您的網路連線將會在彈性伺服器上保持不變。

常見問題集 (FAQ)

問: 為什麼我要被自動移轉?

A. 適用於 Postgresql 的 Azure 資料庫 - 單一伺服器執行個體有資格自動移轉至我們的旗艦供應專案適用於 Postgresql 的 Azure 資料庫 - 彈性伺服器。 此自動移轉可以免除手動移轉伺服器的額外負荷。 您可以利用彈性伺服器的優點,包括價格和效能更理想、對資料庫組態的細微控制,以及自訂維護時段。

問: 自動移轉如何進行? 其移轉的所有功能為何?

A. 彈性伺服器已佈建,以密切匹配與單一伺服器相同的 VCores 和記憶體。 接下來,來源單一伺服器會處於唯讀狀態,結構描述和資料會複製到目標彈性伺服器。 DNS 交換器會執行以將所有現有的連線路由傳送至目標,並將目標彈性伺服器上線。 自動移轉會移轉資料庫(包括結構描述、資料、使用者/角色和權限)。 移轉已離線,您看到的停機時間最多 20 分鐘。

問: 如何設定或檢視自動移轉警示?

A. 以下是您可以設定警示的方式:

  • 請按照 這裡 的步驟設定服務健康情況警示,以透過電子郵件/簡訊接收自動移轉排程和進度通知。
  • 請遵循 這裡 的步驟,檢查 Azure 入口網站上的自動移轉通知。

問: 如何延遲單一伺服器的排程移轉?

A. 您可以瀏覽至單一伺服器執行個體的 [概觀] 頁面,以檢閱移轉排程。 如果您想要延遲移轉,最多可以延遲一個月,方法是流覽至 Azure 入口網站上單一伺服器執行個體的 [概觀] 頁面。 您可以在一個月內選取另一個移轉時段,以重新排程移轉。 移轉詳細資料將在排定的移轉時段前七天鎖定,之後您將無法重新排程。 此自動移轉可以逐月延遲到 2025 年 3 月 30 日。

問: 如何退出單一伺服器的排程自動移轉?

A. 如果您想要退出自動移轉,您可以為此提出支援票證。

問: 移轉的彈性伺服器支援哪些使用者名稱和連接字串? ​​

A. 使用者名稱格式 - username@server_name (單一伺服器格式) 和使用者名稱 (彈性伺服器格式) 將受到移轉彈性伺服器的支援,因此您不需要更新它們,才能在移轉後維持應用程式持續性。 此外,移轉的彈性伺服器也支援連接字串格式 (單一和彈性伺服器格式)。

問: 我看到可能從 postgresql 基本單一伺服器移至 postgresql 彈性伺服器的定價差異?

A. 移轉后,少數伺服器可能會看到次要價格修訂,因為這兩個供應專案的最小記憶體限制不同(單一伺服器上的 5 GiB 和彈性伺服器上的 32 GiB)。 彈性伺服器的記憶體成本略高於單一伺服器。 相較於單一伺服器,任何價格上漲都能透過更理想的輸送量和效能予以彌補。 如需彈性伺服器定價的詳細資訊,請按一下 這裡