【发布时间】:2011-09-24 22:32:31
【问题描述】:
我被要求编写一个可以运行的 SQL 脚本,它将停止复制并删除订阅者/订阅。
这有可能吗?还是必须使用 GUI?
【问题讨论】:
标签: sql-server-2005 replication
我被要求编写一个可以运行的 SQL 脚本,它将停止复制并删除订阅者/订阅。
这有可能吗?还是必须使用 GUI?
【问题讨论】:
标签: sql-server-2005 replication
SELECT spid FROM sys.sysprocesses WHERE dbid = db_id('distribution')
并使用进程号将其杀死,如下所示: 杀死 65
【讨论】:
如果您希望完全删除复制,包括所有“位”。或者您的服务器只有一份出版物,而这是您要删除的出版物。
我会推荐:
这样做的好处是不仅可以彻底清理东西。而且还删除了分发数据库,如果您以前处理过该数据库,就会发现其中充满了过去的复制残余。
完整的文档可以在here找到。
【讨论】:
您使用的是哪个版本的 SQL Server。
试试
sp_removedbreplication 'DB_PROD'
go
相关阅读 - 如何清理复制位 - http://blogs.msdn.com/b/repltalk/archive/2010/11/17/how-to-cleanup-replication-bits.aspx
Google 也在搜索结果中提供了 MSDN 文章
如何:禁用发布和分发(复制 Transact-SQL 编程)-http://msdn.microsoft.com/en-us/library/ms147921.aspx
【讨论】: