2

我有一个使用合并复制同步的发布服务器和订阅服务器。当我使用向导删除复制时,登录窗口要求我登录订阅服务器并删除其订阅,但是当我使用生成的脚本删除复制时,订阅者中的订阅不会删除。我怎样才能使用 TSQL 做到这一点?换句话说:我想连接到订阅者并删除订阅者的订阅记录也使用 T-SQL

4

2 回答 2

1

要删除合并推送订阅,您必须同时连接到发布者和订阅者。按照如何:删除推送订阅(复制 Transact-SQL 编程) -在发布服务器上执行sp_dropmergesubscription ,在订阅服务器上执行sp_mergesubscription_cleanup

于 2012-04-21T16:30:50.370 回答
1

最后我找到了我的问题的解决方案:

我使用 Linked Server 创建到远程服务器的连接:

exec sp_addlinkedserver 'RemoteServer\PeerInstance', N'SQL Server'

exec sp_addlinkedsrvlogin 'RemoteServer\PeerInstant', 'true', 'sa', 'password'

exec ReplicatedDBOnMainServer.sys.sp_dropmergesubscription
@publication = N'PublicationName', 
@subscriber = N'RemoteServer\PeerInstant'

exec [RemoteServer\PeerInstant].ReplicatedDBOnRemote.sys.sp_mergesubscription_cleanup
@publisher = N'MainServer\MainInstant', 
@publisher_db = N'ReplicatedDBOnMainServer'
@publication = N'PublicationName'
于 2012-04-22T12:08:40.377 回答