Re: How can implement these simple scenario



Answers inline...


> Hello All,
> I admit I am new to the replication spectrum, all my experience is
> basically
> reading.
> If you know of a book or site that has all the details please let me know.
>

have a look at Hilary's book - http://www.nwsu.com/0974973602p.html

> These scenarios occur in the application that I am about to develop
>
> Scenario #1
>
> Client X wants specific data be download to use/modify offline. The data
> changes will then be merged back with the server. As I see now, and I
> could
> be totally wrong so please correct me, that can be done through stored
> procedures on the server. I mean the client can call a stored procedure on
> the server (publisher) with the specified parameters (say all the records
> from Table= "SALES" Where City = "NEW YORK"). The stored procedure
> generates
> the replica (must be pull type) and then the client subscribes to replica,
> download locally (pull, on demand) and disconnect. Note download and
> upload
> (for synchronization) must be Client-triggered i.e. on demand.
>
> Is there such thing as Client Initiated (pull) replicas? if yes how can we
> do it?
>

You have offline updatable subscribers - this can be implemented by
transactional replication (queued updating) or merge. The client can
initiate the pull subscription using activeX controls or windows
synchronization manager or starting the relevant job.

> Scenario #2:
> Client X schedule to synchronize. how does the data get uploaded to the
> server? do I trigger the merge manager? I want to have control when a
> merge
> can take place
>

As above...

> Scenario #3
> Client X schedule a sync. and shuts down and the user goes on 3 day
> vacation.
> I know how collision detection woks. In our model the server always wins
> in
> collisions.
>
> How would client X know of a conflict next time it logs in?
> How much data is kept in the System tables on the server about the
> collisions?
>

The conflict viewer will show the conflicts.
The conflict winner and loser row details are held in the conflict table.

> Info about the pending CRUD transactions.
>
> How do I poll the merge agent on the client to know how many transaction
> there pending sync with the server?.
>

sp_Browsereplcommands for transactional and the procedure at the top of
www.replicationanswers.com/merge.asp for merge.

> How do I set a threshold to force CLIENT X to sync every 100 or so CRUD
> transaction.
> Is there an merge agent API to pull out this info. or where can I get the
> info?
>

As above for merge, and have a look at sp_replqueuemonitor

> Collinsions or related multi-Record and rollback.
> How do I roll back on multi record merge?. Say Record A and B can both
> take
> place or none. so if A is ok in Table-A and B has collided in Table-B then
> roll back both. If A collides in Table-A then abort operation.
>

This is 'logical records' and is only available in SQl Server 2005 for
merge. For transactional, the ACID properties are retained.

> I still have few more questions that are dependents on those. So will wait
> till I hear from you first.
> Thank you for the help.
> Canada

Rgds,
Paul Ibison SQL Server MVP, www.replicationanswers.com/default.asp
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)


.



Relevant Pages

  • Re: Is there an obvious way to do this in python?
    ... |> I want to write a small system that is transaction based. ... Yes - if you do the whole job on the server - ... |it) and HTML (but there are some python packages that knows how to build ... again - centric thinking - I really would like to change the bits on the client, ...
    (comp.lang.python)
  • RE: server/connectcomputer from remote offices
    ... I have a replica w2k3 std server config'd as a dc in location B ... I have a number of client workstations in Location B ... We can connect the workstations in Location B to the sbs domain with no ... I have enabled replication of the clients share ...
    (microsoft.public.windows.server.sbs)
  • Re: transactional replication problem
    ... All transaction from killed process were rolled back... ... Did they get deleted from distribution database ... >Looking for a SQL Server replication book? ...
    (microsoft.public.sqlserver.replication)
  • Re: Replication newbie question(s)
    ... thing is that this app is for a client that is VERY non-technical so I do ... not want them doing ftp's nor terminal server type connections. ... > It's true that the replication transfer would be incremental if you ... >>> remove uppercase letters for true email ...
    (microsoft.public.access.replication)
  • Re: Seeking advice regarding asynchronous (responseless?) HTTP
    ... the server and the result is sent back to the client. ... posting the small amount of transaction data ... transaction to process on the server and for the response to return is the ...
    (microsoft.public.dotnet.framework.aspnet)