在 SQL Server 2012 上使用 CDC。
我有一个MyTable
启用 CDC 的表 ( )。我认为以下两个查询将始终返回相同的值:
SELECT MIN(__$start_lsn) FROM cdc.dbo_MyTable_CT;
SELECT sys.fn_cdc_get_min_lsn('dbo_MyTable');
但他们似乎没有这样做:在我的情况下,第一个返回0x00001EC6000000DC0003
,第二个返回0x00001E31000000750001
,所以表中的绝对最小值实际上大于返回的值fn_cdc_get_min_lsn
。
我的问题:
- 为什么结果不一样?
- 使用第一个查询中的值作为第一个参数有什么问题
fn_cdc_get_all_changes_dbo_MyTable
吗?(我见过的所有示例都使用第二个查询中的值)