We have a system that has one of its datasources still on SQL Server 2000. In order to achieve higher availability, we are looking to setup transactional replication from this 2000 server to a 2008 cluster.
My question is, are the INSERT/UPDATE/DELETE
statements on the source database across all published tables guaranteed to be transactionally safe (as the name suggests)? For example, if I perform the following query on the source database:
BEGIN TRAN
INSERT t1 (mycol) VALUES ( 0 )
INSERT t2 (mycol) VALUES ( 1 )
COMMIT TRAN
Assuming that t1
and t2
are part of the same publication, will the following query on the destination always yield the result below?
SET TRANSACTION ISOLATION LEVEL SNAPSHOT
BEGIN TRAN
SELECT 'Value in t1: ' + CAST(t1.mycol AS VARCHAR(10)) from t1
SELECT 'Value in t2: ' + CAST(t2.mycol AS VARCHAR(10)) from t2
COMMIT
Result:
Value in t1: 0
Value in t2: 1