2

マージレプリケーションを使用して同期されるパブリッシャーサーバーとサブスクライバーサーバーがあります。ウィザードを使用してレプリケーションを削除する場合、ログインウィンドウでサブスクライバーサーバーにログインしてサブスクリプションを削除するように求められますが、レプリケーションを削除するために生成されたスクリプトを使用すると、サブスクライバーのサブスクリプションが削除されません。TSQLを使用してそれを行うにはどうすればよいですか?言い換えると、 T-SQLを使用して、サブスクライバーに接続し、サブスクライバーでのサブスクリプションのレコードを削除したい

4

2 に答える 2

1

マージプッシュサブスクリプションを削除するには、パブリッシャーとサブスクライバーの両方に接続する必要があります。方法ごと:プッシュサブスクリプションを削除する(レプリケーションTransact-SQLプログラミング) -パブリッシャーでsp_dropmergesubscriptionを実行し、サブスクライバーでsp_mergesubscription_cleanupを実行します。

于 2012-04-21T16:30:50.370 に答える
1

ついに私は自分の問題の解決策を見つけました:

リンクサーバーを使用して、リモートサーバーへの接続を作成しました。

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 に答える