sp_removedbreplication (Transact-SQL)

该存储过程在发布服务器的发布数据库中或在订阅服务器的订阅数据库中执行。 该过程将从执行它的数据库中删除所有复制对象,但它不会从其他数据库(例如,分发数据库)中删除对象。

注意注意

只有当其他删除复制对象的方法都失败后,才应当使用此过程。 有关这些方法的详细信息,请参阅删除复制

主题链接图标Transact-SQL 语法约定

语法

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 不能用于标记为只读的数据库。

示例

-- 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

权限

只有 sysadmin 固定服务器角色的成员才能执行 sp_removedbreplication