在適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器中備份與還原
適用於:適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器
重要
適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器位於淘汰路徑上。 強烈建議您升級至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器。 如需移轉至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的詳細資訊,請參閱單一伺服器 適用於 PostgreSQL 的 Azure 資料庫 發生什麼事?。
適用於 PostgreSQL 的 Azure 資料庫 會自動建立伺服器備份,並將其儲存在使用者設定的本地備援或異地備援記憶體中。 備份可以用來將伺服器還原至某個時間點。 備份和還原可保護資料免於意外損毀或刪除,是商務持續性策略中不可或缺的一部分。
備份
適用於 PostgreSQL 的 Azure 資料庫 會備份數據檔和事務歷史記錄。 視支援的記憶體大小上限而定,我們採用完整和差異備份(4 TB 最大記憶體伺服器)或快照集備份(最多 16 TB 的最大記憶體伺服器)。 在您設定的備份保留期限內,這些備份可讓您將伺服器還原至任何時間點。 預設的備份保留期限是七天。 您可以選擇性設定保留期間為最多 35 天。 所有備份皆會使用 AES 256 位元加密進行加密。
無法匯出這些備份檔案。 備份只能用於 適用於 PostgreSQL 的 Azure 資料庫 中的還原作業。 您可以使用 pg_dump 來複製資料庫。
備份頻率
具有最多 4 TB 記憶體的伺服器
對於最多支援 4 TB 記憶體的伺服器,每周都會進行一次完整備份。 每天執行兩次差異備份。 交易記錄備份會每五分鐘執行一次。
具有最多 16 TB 記憶體的伺服器
在 Azure 區域的子集中,所有新布建的伺服器最多可支援 16 TB 的記憶體。 這些大型記憶體伺服器上的備份是以快照集為基礎。 建立伺服器之後,會立即排程第一次完整快照集備份。 第一個完整快照集備份會保留為伺服器的基底備份。 後續的快照集備份只是差異備份。 差異快照集備份不會依固定排程執行。 在一天內,會執行多個差異快照集備份,但只會保留 3 個備份。 交易記錄備份會每五分鐘執行一次。
注意
針對設定最多 4TB 記憶體設定的複本伺服器,會執行自動備份。
備份保留
備份會根據伺服器上的備份保留期間設定加以保留。 您可以選取 7 到 35 天的保留期間。 預設保留期間為 7 天。 您可以在建立伺服器期間設定保留期間,或稍後使用 Azure 入口網站或 Azure CLI 更新備份設定,以設定保留期間。
備份保留期限會控制可往回多少時間來擷取時間點還原,因為這會以可用的備份為基礎。 從還原的觀點來看,備份保留期間也可視為復原時段。 備份保留期間內執行時間點還原所需的所有備份都會保留在備份儲存體中。 例如 - 如果備份保留期間設定為 7 天,則會將復原時間範圍視為過去 7 天。 在此案例中,系統會保留過去 7 天內還原伺服器所需的所有備份。 備份保留時間範圍為七天:
- 具有最多 4 TB 記憶體的伺服器將保留最多 2 個完整資料庫備份、所有差異備份,以及自最早完整資料庫備份以來執行的事務歷史記錄備份。
- 最多 16 TB 記憶體的伺服器會保留完整的資料庫快照集、過去 8 天內的所有差異快照集和事務歷史記錄備份。
備份備援選項
適用於 PostgreSQL 的 Azure 資料庫 可讓您彈性地選擇一般用途和記憶體優化層中的本地備援或異地備援備份記憶體。 當備份儲存在異地備援備份記憶體中時,會將額外的備份複本複寫到 配對的區域。 這可提供更好的保護和能力,讓您在發生區域性災害時還原伺服器。 「基本」層只會提供本地備援的備份儲存體。
重要
您只可在伺服器建立期間,為備份設定本地備援或異地備援儲存體。 伺服器佈建完成之後,您無法變更備份儲存體備援選項。
備份儲存體成本
適用於 PostgreSQL 的 Azure 資料庫 提供最多 100% 的已布建伺服器記憶體,因為備份記憶體不需額外費用。 額外使用的任何備份儲存體以每月 GB 數計費。 例如,如果您已布建具有 250 GB 記憶體的伺服器,則伺服器備份無需額外費用即可使用 250 GB 的額外記憶體。 針對備份超過 250 GB 所耗用儲存體會根據定價模式收費。
您可以使用 Azure 入口網站所提供 Azure 監視器中 [使用的備份儲存體] 計量來監視伺服器所使用的備份儲存體。 「已使用的備份儲存體」計量代表根據針對伺服器所設定的備份保留期間而保留的所有完整資料庫備份、差異備份和記錄備份所耗用的儲存體總和。 先前已說明備份的頻率由服務管理。 不論資料庫大小總計,伺服器上頻繁的交易活動可能會導致備份儲存體使用量增加。 針對異地備援儲存體,備份儲存體使用量是本地備援儲存體的兩倍。
控制備份儲存體成本的主要方式是設定適當的備份保留期間,然後選擇正確的備份備援選項以符合您所需的復原目標。 您可以從 7 到 35 天的範圍選取保留期間。 一般用途和記憶體最佳化伺服器可以選擇異地備援儲存體供備份使用。
還原
在 適用於 PostgreSQL 的 Azure 資料庫 中,執行還原會從原始伺服器的備份建立新的伺服器。
有兩種類型的還原可使用:
- 時間點還原 可使用任一備份備援選項,並在與原始伺服器相同的區域中建立新的伺服器。
- 只有在您為異地備援記憶體設定伺服器,且可讓您將伺服器還原至不同的區域時,才能使用異地還原 。
預估的復原時間取決於數個因素,包括資料庫大小、交易記錄大小、網路頻寬,以及在相同區域中同時進行復原的資料庫總數。 復原時間會根據上次數據備份和需要執行的復原量而有所不同。 通常少於 12 小時。
注意
如果您的來源 PostgreSQL 伺服器使用客戶管理的金鑰加密,請參閱 檔 以取得其他考慮。
注意
如果您想要還原已刪除的 PostgreSQL 伺服器,請遵循此處所述的程式。
還原時間點
與備份備援選項無關,您可以在備份保留期限內地任何時間點執行還原。 新伺服器會建立在與原始伺服器相同的 Azure 區域中。 其使用原始伺服器的組態來建立,包含定價層、計算世代、虛擬核心數目、儲存體大小、備份保留期限,以及備份備援選項。
時間點還原適用於多種案例。 例如,使用者不小心刪除資料、卸除重要的資料表或資料庫,或是因為應用程式缺失,使應用程式不小心用不正確的資料覆寫正確資料。
您可能需要等候下一個交易記錄備份執行時,才能還原至前五分鐘內的時間點。
如果您想要還原已卸除的數據表,
- 使用時間點方法來還原來源伺服器。
- 使用
pg_dump
從還原的伺服器傾印數據表。 - 重新命名原始伺服器上的源數據表。
- 在原始伺服器上使用 psql 命令行匯入資料表。
- 您可以選擇性地刪除還原的伺服器。
注意
不建議同時為同一部伺服器建立多個還原。
異地復原
如果您已將伺服器設定為使用異地備援備份,您可以將伺服器還原到另一個可使用服務的 Azure 區域中。 最多支援 4 TB 記憶體的伺服器可以還原至異地配對區域,或支援最多 16 TB 記憶體的任何區域。 對於支援最多 16 TB 記憶體的伺服器,任何支援 16 TB 伺服器的區域也可以還原異地備份。 檢閱 適用於 PostgreSQL 的 Azure 資料庫 定價層,以取得支持的區域清單。
當您的伺服器因為裝載伺服器區域中的事件而無法使用時,異地還原就是預設的復原選項。 如果區域中的大規模意外導致您無法使用資料庫應用程式,則您可以從異地備援備份,將伺服器還原到任何其他區域中的伺服器。 在建立備份及將它複寫至不同區域之間會有延遲。 此延遲可能最長達一小時,因此當發生災害時,最多可能會遺失最長達一小時的資料。
在異地還原期間,可以進行變更的伺服器設定包括計算世代、vCore、備份保留期間及備份備援選項。 不支援變更定價層(基本、一般用途或記憶體優化)或記憶體大小。
注意
如果您的來源伺服器使用基礎結構雙重加密來還原伺服器,則包含可用區域的限制。 如需詳細資訊, 請參閱基礎結構雙重加密 。
執行還原之後的工作
從其中任何一種復原機制還原之後,您應執行下列工作,讓您的使用者和應用程式回復正常執行狀態︰
若要存取還原的伺服器,因為它的名稱與原始伺服器不同,請將 servername 變更為還原的伺服器名稱,並將使用者名稱
username@new-restored-server-name
變更為 連接字串。如果新伺服器用來取代原始伺服器,則系統會將用戶端和用戶端應用程式重新導向至新伺服器。
請確定適當的伺服器層級防火牆和 VNet 規則可供用戶連線。 這些規則不會從原始伺服器複製。
確定有適當的登入和資料庫層級權限
依適當情況設定警示
長期保留
Azure 備份 和 適用於 PostgreSQL 的 Azure 資料庫 伺服器服務已針對保留最多 10 年之備份的 適用於 PostgreSQL 的 Azure 資料庫 單一伺服器實例建置企業級的長期備份解決方案。 除了 適用於 PostgreSQL 的 Azure 資料庫 單一伺服器所提供的自動化備份解決方案之外,您也可以獨立使用長期保留,以提供最多 35 天的保留期。 自動備份是適用於作業復原的實體備份,當您想要從最新的備份還原時,尤其適用。 長期備份可協助您符合合規性需求、更細微,並使用原生pg_dump作為邏輯備份。 除了長期保留之外,此解決方案還提供下列功能:
在個別資料庫層級進行客戶控制的排程和隨需備份。 集中監視所有作業和工作。 儲存在個別安全性和容錯網域中的備份。 如果來源伺服器或訂用帳戶遭入侵,備份保存庫中的備份仍安全無虞 (在 Azure 備份受控儲存體帳戶中)。 使用pg_dump可讓您在不同資料庫版本還原數據時有更大的彈性。 Azure 備份保存庫支援不變性和虛刪除 (預覽版) 功能,以保護資料。
下一步
- 瞭解如何使用 Azure 入口網站 還原。
- 瞭解如何使用 Azure CLI 還原。
- 若要深入了解商務持續性,請參閱商務持續性概觀。