Cannot drop the database XXX because it is being used for replication

本文提供了两种解决SQL2000中无法直接删除数据库的问题的方法:一是重新创建复制然后删除;二是将数据库设置为离线状态再进行删除操作。此外,还提供了一段用于解除所有表的复制标志的脚本。

解决方法

1、Recreate a replication on this DB for the purpose dropping it.  After I drop the replication, I was able to drop the DB.

2、将数据库Offline然后再删除就可以了


SQL 2000的脚本


-- Removes Replication Flag for all Tables in the Database
 -- using sp_MSunmarkreplinfo
 SET NOCOUNT ON
 DECLARE @tablename NVARCHAR(128)
 DECLARE @RC INT
 DECLARE curTable CURSOR FOR
 SELECT [name] AS tbl
 FROM sys.tables
 OPEN curTable
 FETCH NEXT FROM curTable
 INTO @tablename
 WHILE @@FETCH_STATUS = 0
 BEGIN
 EXECUTE @RC = dbo.sp_MSunmarkreplinfo @tablename
 FETCH NEXT FROM curTable
 INTO @tablename
 END
 CLOSE curTable
 DEALLOCATE curTable
 GO



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值