Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Earlier in the other blog article we discussed on “HOWTO: Pending Changes for a Merge Subscription (Client Side)” and this article will focus on finding the pending changes on server side for download. This blog article requires a little understanding of Remote Data Access (RDA). Note that, RDA does NOT need any extra configuration and can use/piggyback on the current merge replication configuration both on IIS and in SQL Server.
1) Create a stored procedure on server side like the one mentioned below
====================================================================================
CREATE PROC sp_IsThereAnyChangesToReplicateServerSide
AS
DECLARE @AnythingToReplicateServerSide int
DECLARE @pending_deletes int
DECLARE @pending_ins_and_upd int
SET @AnythingToReplicateServerSide = 0
CREATE TABLE #My_PendingChanges (destination_server sysname, pub_name sysname, destination_db_name sysname, is_dest_subscriber bit, article_name sysname, pending_deletes int, pending_ins_and_upd int)
INSERT INTO #My_PendingChanges EXEC sp_showpendingchanges @publication = 'Repl_Mobile_Publication'
SELECT @pending_deletes = pending_deletes, @pending_ins_and_upd = pending_ins_and_upd FROM #My_PendingChanges
IF (@pending_deletes <> 0 OR @pending_ins_and_upd <> 0)
SET @AnythingToReplicateServerSide = 1
DROP TABLE #My_PendingChanges
SELECT @AnythingToReplicateServerSide
====================================================================================
a. You can make it smarter by specifying a @destination_server, @publication to sp_ShowPendingChanges.
2) Call this stored procedure from client using RDA.Pull which will create local table
Thanks,
Laxmi Narsimha Rao ORUGANTI
Comments
- Anonymous
March 16, 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/03/16/connectivity-cookbook/