Sql-Server

如何在不停機的情況下在 SQL Server Always On 可用性組中設置恢復模式?

  • April 9, 2020

我正在執行 SQL Server 2016 2 節點 Always On 可用性組,並且我想做一些備份。我通常執行這個查詢來做我的備份:

-- To permit log backups, before the full database backup, modify the database to use the full recovery model.  
USE master;  
ALTER DATABASE dbname
  SET RECOVERY FULL;  


BACKUP DATABASE dbname
  TO URL = 'https://bloblname.blob.core.windows.net/databasebackup/backup.bak'
  WITH CREDENTIAL = 'credentialname';

我的問題是,我可以在可用性組主節點上執行此部分而不會導致停機嗎?

ALTER DATABASE dbname
  SET RECOVERY FULL;  

我擔心如果我在可用性組主伺服器上執行此命令,它會以某種方式導致同步停止,或者可能會產生其他可能有害的影響。

另一個相關的問題是——你建議在主節點還是從節點上執行這些命令?

對此的任何幫助將不勝感激。

可用性組要求數據庫處於完全恢復模式(請參閱可用性數據庫先決條件和限制),因此在執行備份之前無需將其切換為完全恢復模式。如果數據庫位於可用性組中,則不應將其切換出完全恢復模式。

至於在哪裡執行備份,在主要或次要上,這是負載分配和貨幣的問題。如果您不希望備份負載在主伺服器上執行,那麼您需要在輔助伺服器上執行它。如果它們在非同步複製中,如果在日誌發送隊列中備份了部分數據庫複製,則備份可能不會包含所有最新數據。

引用自:https://dba.stackexchange.com/questions/264625