Wednesday, March 28, 2012

Replication subscription validation in Microsoft SQL Server 2000

Hi,
I have set up a pull transactional replication using 2 machines: one
Publisher and the other Distributor-Subscriber.
Both are running Microsoft SQL Server 2000 SP3. They have different OSes
though: the Publisher has Microsoft Windows Server 2003 SP1 but the
Distributor-Subscriber has Microsoft Windows 2000 Advanced Server SP4.
I have one publication of all objects in a database and one subscriber to
all articles in that publication.
Will the successful result of sp_publication_validation be the sufficient
evidence to make an assumption that the Publication and Subscription
databases are identical if we don't use any text or binary data types? Does
it always need to be a check with checksums?
Many thanks,
OskarOskar,
sp_publication_validation is only a basic comparison. Binary checksums are
needed to be certain, or in some cases I use SQL Data Compare. This can be
useful if you want to manually synchronize the data then reinitialize with
nosync ie you can't afford to reinitialize.
If you are using merge replication, there are some circumstances when rows
won't get replicated (basically those cases where triggers don't fire) and
these cases will be caught by your simple rowcount. Using more arcane
settings like -EXCHANGETYPE can result in the same rowcount but different
data, and while the binary checksum would catch this behaviour the rowcount
might miss it.
HTH,
Paul Ibison SQL Server MVP, www.replicationanswers.com

No comments:

Post a Comment