sp_replicationdboption (Transact-SQL)
设置指定数据库的复制数据库选项。 此存储过程在发布服务器或订阅服务器上对任何数据库执行。
语法
sp_replicationdboption [ @dbname= ] 'db_name'
, [ @optname= ] 'optname'
, [ @value= ] 'value'
[ , [ @ignore_distributor= ] ignore_distributor ]
[ , [ @from_scripting = ] from_scripting ]
参数
[ @dbname = ] 'dbname'
要为其设置复制数据库选项的数据库。 db_name为 sysname,没有默认值。
[ @optname = ] 'optname'
要启用或禁用的复制数据库选项。 optname 为 sysname,可以是以下值之一。
值 | 说明 |
---|---|
合并发布 | 数据库可用于合并发布。 |
发布 | 数据库可用于其他类型的发布。 |
订阅 | 数据库为订阅数据库。 |
与备份同步 | 启用数据库以进行协调备份。 有关详细信息,请参阅为事务复制启用协调备份(复制 Transact-SQL 编程)。 |
[ @value = ] 'value'
是启用或禁用给定的复制数据库选项。 值为 sysname,可以是 true 或 false。 如果此值为 false 并且 optname 是 合并发布,则也会删除对合并发布的数据库的订阅。
[ @ignore_distributor = ] ignore_distributor
指示是否执行此存储过程而不连接到分发服务器。 ignore_distributor位,默认值为 0,这意味着分发服务器应连接到发布数据库的新状态并更新。 仅当分发服务器不可访问且sp_replicationdboption用于禁用发布时,才应指定值 1。
[ @from_scripting = ] from_scripting
标识为仅供参考。 不支持。 不保证以后的兼容性。
返回代码值
0 (成功) 或 1 (失败)
注解
sp_replicationdboption用于快照复制、事务复制和合并复制。
此过程根据给定的选项创建或删除特定的复制系统表、安全帐户,等等。 设置 master.databases 系统表中的相应is_published(转换复制或快照复制)、is_merge_published(合并复制)或is_distributor位,并创建必要的系统表。
若要禁用发布,发布数据库必须联机。 如果发布数据库存在数据库快照,则必须在禁用发布前将快照删除。 数据库快照是数据库的只读脱机副本,与复制快照无关。 有关详细信息,请参阅数据库快照 (SQL Server)。
权限
只有 sysadmin 固定服务器角色的成员才能执行sp_replicationdboption。
另请参阅
配置发布和分发
创建发布
删除发布
禁用发布和分发
sys.databases (Transact-SQL)
复制存储过程 (Transact-SQL)