啟用協調備份以支援交易複製

適用於:SQL Server

當你啟用交易複製資料庫時,可以指定所有交易必須先備份,才能送達到分發資料庫。 你也可以在分發資料庫啟用協調備份,這樣出版資料庫的交易日誌不會被截斷,直到已傳播到發行商的交易被備份。 欲了解更多資訊,請參閱 「快照與交易複製的備份與還原策略」。

附註

當發行者資料庫是可用性群組的一部分時,在散發資料庫上使用sync with backup option並不相容,且可能導致下列錯誤: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 屬性

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

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