為異動複寫啟用協調備份

適用於:SQL Server

在啟用異動複寫的資料庫時,可以指定所有的交易必須先備份,才能傳遞到散發資料庫。 也可以在散發資料庫上啟用協調備份,如此在傳播到「散發者」的交易進行備份之前,發行集資料庫的交易記錄都不會遭到截斷。 如需詳細資訊,請參閱 備份與還原快照式和異動複寫的策略

注意

當發行者資料庫是可用性群組的一部分,且可能會導致下列錯誤時,在散發資料庫上使用與備份選項同步是不相容的:The process could not execute 'sp_repldone/sp_replcounters' on 'machinename\instance', Possible inconsistent state in the distribution database, Get help: http://help/MSSQL_REPL20011 (Source: MSSQLServer, Error number: 18846)

若要為使用異動複寫所發行的資料庫啟用協調備份

  1. 在發行者端,使用 SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')DATABASEPROPERTYEX (Transact-SQL) 函數傳回發行集資料庫的 IsSyncWithBackup 屬性。 如果函數傳回 1,則已經為發行的資料庫啟用協調備份。

  2. 如果步驟 1 中的函數傳回 0,則請在發行集資料庫的發行者端執行 sp_replicationdboption (Transact-SQL)。 為 @optname 指定 sync with backup的值,而為 @value 指定 true的值。

    注意

    如果將 sync with backup 選項變更為 false,則在記錄讀取器執行後或在一個間隔後 (如果記錄讀取器持續執行),發行集資料庫的截斷點就會更新。 最大間隔是由 –MessageInterval 代理程式參數 (預設值為 30 秒) 控制。

若要啟用散發資料庫的協調備份

  1. 在散發者端,使用 DATABASEPROPERTYEX (Transact-SQL) 函數傳回散發資料庫的 IsSyncWithBackup 屬性。 如果函數傳回 1,則已經為散發資料庫啟用協調備份。

  2. 如果步驟 1 中的函數傳回 0,則請在散發資料庫的散發者端執行 sp_replicationdboption (Transact-SQL)。 為 @optname 指定 sync with backup 的值,而為 @value 指定 true的值。

若要停用協調備份

  1. 在發行集資料庫的發行者端或散發資料庫的散發者端,執行 sp_replicationdboption (Transact-SQL)。 為 @optname 指定 sync with backup 的值,而為 @value 指定 false的值。

範例

A. 擷取目前資料庫的 IsSyncWithBackup 屬性

此範例會傳回目前資料庫的 IsSyncWithBackup 屬性:

SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')`

B. 擷取特定資料庫的 IsSyncWithBackup 屬性

此範例會傳回資料庫 NameOfDatabaseToCheckIsSyncWithBackup 屬性:

SELECT DATABASEPROPERTYEX('NameOfDatabaseToCheck','IsSyncWithBackup')`