Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagesql
ALTER DATABASE TEST
SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE TEST
SET READ_COMMITTED_SNAPSHOT ON

 


Once the tables have been created on target database:

  • Ensure that you create index on target database that has disabled page locking  "ALLOW_PAGE_LOCKS = OFF"
  • On the target database ensure that table has an index created on all columns that will be used in where clauses in the update/delete sql statements on source database. (This will prevent certain situation when MS SQL server tends to create table lock and possible blocking locks).

...

  • Disable lock escalation on tables.


Code Block
languagesql
ALTER TABLE TEST.RATE SET (LOCK_ESCALATION=DISABLE);
ALTER INDEX RATE_UK ON TEST.RATE SET (ALLOW_PAGE_LOCKS=OFF);

...


ALTER TABLE schema.tablename SET (LOCK_ESCALATION=DISABLE)

It is possible to use the following script to generate the list of statements for execution against the desired schema.

Code Block
languagesql
SELECT 'ater table [' + schema_name(t.schema_id) + '].[' + t.NAME + 
	'] set (LOCK_ESCALATION=DISABLE);' AS stmt
FROM sys.tables t
WHERE lock_escalation <> 0
UNION ALL
SELECT 'ALTER INDEX [' + i.NAME + '] on [' + schema_name(t.schema_id) + '].[' + t.NAME + 
	'] set (ALLOW_PAGE_LOCKS=OFF);' AS stmt
FROM sys.tables t
INNER JOIN sys.indexes i ON (i.object_id = t.object_id)
WHERE i.NAME IS NOT NULL
	AND allow_page_locks <> 0


In the replication console:

  • In the dbvisit replication console set the parameter APPLY_POSTPONE_LAST_LCR to YES (and restart)
  • Set _APPLY_COUNT_LOOKAHEAD_READ and _APPLY_COUNT_LOOKAHEAD_READ_FASTFAIL


Code Block
dbvrep> SETdbvrep>set *.APPLY_POSTPONE_LAST_LCR=YES
dbvrep>set *._APPLY_COUNT_LOOKAHEAD_READ = 10000
dbvrep>set *._APPLY_COUNT_LOOKAHEAD_READ_FASTFAIL = 50