sp_removedbreplication (Transact-SQL)
此存储过程删除 SQL Server 发布服务器实例上的发布数据库或 SQL Server 订阅实例上的订阅数据库上的所有复制对象。 在相应的数据库中执行,或者如果执行位于同一实例上另一个数据库的上下文中,请指定应删除复制对象的数据库。 此过程不会从其他数据库(如分发数据库)中删除对象。
注意
仅当删除复制对象的其他方法失败时,才应使用此过程。
语法
sp_removedbreplication [ [ @dbname = ] 'dbname' ]
[ , [ @type = ] type ]
自变量
[ @dbname = ] 'dbname'
数据库的名称。 dbname 为 sysname,默认值为 NULL。 如果为 NULL,将使用当前数据库。
[ @type = ] type
要为其删除数据库对象的复制类型。 类型 为 nvarchar(5), 可以是以下值之一。
值 | 说明 |
---|---|
tran | 删除事务复制发布对象。 |
merge | 删除合并复制发布对象。 |
两者 (默认值) | 删除所有复制发布对象。 |
返回代码值
0 (成功) 或 1 (失败)
备注
sp_removedbreplication用于所有类型的复制。
还原没有需要还原复制对象的复制数据库时,sp_removedbreplication非常有用。
不能对标记为只读的数据库使用sp_removedbreplication。
权限
只有 sysadmin 固定服务器角色的成员才能执行sp_removedbreplication。
示例
A. 删除复制对象,AdventureWorks 副本订阅数据库
-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorks2022Replica'
-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO
B. 删除复制对象,AdventureWorks 副本订阅数据库
-- 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
另请参阅
反馈
提交和查看相关反馈