为事务复制启用协调备份

适用于: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')`