MS SQL SERVER 2008中分离数据库时,提示说数据库正用于复制(错误代码:3724),无法删除。
遇到该问题,是因为数据库中的对象经复制后,通常会在系统表 sysarticles (用于快照和事务性发布)或 sysmergearticles (用 于合并发布)中标记为已复制。尝试删除复制的对象时,会引发此错误。
如果此错误发生在未复制的数据库中,请执行 sp_removedbreplication (Transact-SQL) ,以确保此数据库中的对象不被标记为已复制。
语法
sp_removedbreplication [ [ @dbname = ] 'dbname' ] [ , [ @type = ] type ]
-
[
@dbname= ]
'
dbname
'
-
数据库的名称。dbname 的数据类型为 sysname ,默认值为 NULL。 此参数值为 NULL 时,将使用当前数据库。
-
[
@type = ]
type
-
要 为其删除数据库对象的复制的类型。type 的数据类型为 nvarchar(5) ,可以是下列值 之一。
tran
删 除事务复制发布对象。
merge
删 除合并复制发布对象。
both (默认值)
删 除所有复制发布对象。
只有 sysadmin 固定服务器角色的成员才能执行 sp_removedbreplication 。