View Issue Details

IDProjectCategoryView StatusLast Update
0005795SymmetricDS ProBugpublic2024-01-15 17:37
Reporteremiller Assigned Toemiller  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.14.0 
Target Version3.14.7Fixed in Version3.14.7 
Summary0005795: SQL Server log miner skips over changes on a busy system
DescriptionWhen changes are being made while the log miner job is running, the SQL Server log miner can skip over changes. This occurs because the SQL Server log miner relies on snapshot isolation, but snapshot isolation does not work correctly. The log miner calls CHANGE_TRACKING_CURRENT_VERSION() to get the latest version number but CHANGETABLE() unexpectedly returns rows with a version number greater than this number. The log miner quits reading from the cursor when it comes across a row with a version number that is too high. This behavior contradicts Microsoft's documentation, which states that when snapshot isolation is enabled, "the calls to CHANGETABLE(CHANGES ...) will never return changes with a version later than that returned by CHANGE_TRACKING_CURRENT_VERSION()".

https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/work-with-change-tracking-sql-server#use-snapshot-isolation

As a workaround, we must implement the second alternative from Microsoft's documentation, which will capture duplicate changes but will not miss anything.

https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/work-with-change-tracking-sql-server#alternatives-to-snapshot-isolation
TagsNo tags attached.

Relationships

related to 0005794 closedemiller SQL Server log miner skips over changes on a busy system 
related to 0005793 closedemiller SQL Server log miner skips over changes on a busy system 
related to 0006190 closedelong SQL-Server log mining should not require snapshot isolation 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-04-17 15:33 emiller New Issue
2023-04-17 15:33 emiller Status new => assigned
2023-04-17 15:33 emiller Assigned To => emiller
2023-04-17 15:33 emiller Issue generated from: 0005794
2023-04-17 15:33 emiller Relationship added related to 0005794
2023-04-17 15:34 emiller Relationship added related to 0005793
2023-04-17 16:27 emiller Status assigned => resolved
2023-04-17 16:27 emiller Resolution open => fixed
2023-04-17 16:27 emiller Fixed in Version => 3.14.7
2023-05-12 19:49 admin Status resolved => closed
2024-01-15 17:37 elong Relationship added related to 0006190