Sql-Server
AG 和 SQL 備份
我在 sql 2012 中始終使用並且有一個 AG 設置。我想知道我是否要備份主數據庫並在不關閉集群等情況下恢復它。
其次,如果我有一個 SSDT 項目正在部署我的數據庫,並且我事先有一個 AG 設置,並且要通過項目將那個空白數據庫部署到主數據庫,它會“同步”更改因此刪除所有數據(如果有的話)存在於中學?這是一個不太可能的情況,只是想知道會發生什麼。
謝謝!
這實際上是兩個不同的問題。
- 您無法還原屬於數據庫鏡像對或可用性組的數據庫。如果您嘗試這樣做,您將收到如下錯誤:
消息 3104,級別 16,狀態 1,第 2 行 RESTORE 無法在數據庫“AdventureWorks2012”上執行,因為它已配置為數據庫鏡像或已加入可用性組。如果您打算恢復數據庫,請使用 ALTER DATABASE 刪除鏡像或將數據庫從其可用性組中刪除。
消息 3013,級別 16,狀態 1,第 2 行 RESTORE DATABASE 異常終止。
- 對可用性組中的主數據庫所做的任何更改都將同步到其他副本。這包括 DML 和 DDL 更改。但是,在進行 SSDT 部署時,有一些機制可以檢查目標中可能存在的數據失去並阻止部署(可以禁用這些設置)。從本質上講,將 SSDT 部署到主節點就像部署到所有副本一樣。
此外,不允許對作為數據庫鏡像對或可用性組成員的數據庫進行某些操作(例如數據庫還原、啟用服務代理等),因此如果您的 SSDT 部署嘗試執行其中一項操作,則會導致像這樣的錯誤:
消息 1468,級別 16,狀態 1,第 1 行 無法對數據庫“AdventureWorks2012”執行操作,因為它涉及數據庫鏡像會話或可用性組。不允許對參與數據庫鏡像會話或可用性組的數據庫執行某些操作。
消息 5069,級別 16,狀態 1,第 1 行 ALTER DATABASE 語句失敗。