sp_removedbreplication (Transact-SQL)
此存储过程将删除 SQL Server 发布服务器实例的发布数据库上或 SQL Server 订阅服务器实例的订阅数据库上的所有复制对象。在相应的数据库中执行,或如果是在另一个数据库上下文的同一个实例上执行,请指定应删除复制对象的数据库。此过程不会从其他数据库(例如,分发数据库)中删除对象。
备注
只有当其他删除复制对象的方法都失败后,才应当使用此过程。
语法
sp_removedbreplication [ [ @dbname = ] 'dbname' ]
[ , [ @type = ] type ]
参数
[ @dbname=] 'dbname'
数据库的名称。dbname 的数据类型为 sysname,默认值为 NULL。此参数值为 NULL 时,将使用当前数据库。[ @type*type* = ]
要为其删除数据库对象的复制的类型。type 的数据类型为 nvarchar(5),可以为以下值之一。tran
删除事务复制发布对象。
merge
删除合并复制发布对象。
both(默认值)
删除所有复制发布对象。
返回代码值
0(成功)或 1(失败)
备注
sp_removedbreplication 用于所有复制类型。
如果要还原的复制数据库没有需要还原的复制对象,sp_removedbreplication 将很有用。
sp_removedbreplication 不能用于标记为只读的数据库。
权限
只有 sysadmin 固定服务器角色的成员才能执行 sp_removedbreplication。
示例
下面的示例将删除复制对象。
-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorksReplica'
-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO