SQLServer changtracking 增量获取

select 
 (case CT.sys_change_operation 
    when 'I' then 'INSERT' when 'U' then 'UPDATE' when 'D' then 'DELETE' end) as rowtype
,CT.sys_change_version as rowVersion,CT.主键
from 
(
    select 主键,max(sys_change_version) as sys_change_version
    from changetable(changes dbo.表名,0) as CT
    group by 主键
) a 
join changetable(changes dbo.表名,0) as CT 
    on a.主键=CT.主键 and a.sys_change_version=CT.sys_change_version
;

 

--开启

ALTER TABLE 表名 ENABLE CHANGE_TRACKING;

--授权

GRANT VIEW CHANGE TRACKING ON 表名 TO 用户;

--修改保留时间

ALTER DATABASE 库名
SET CHANGE_TRACKING = ON  
(CHANGE_RETENTION = 7 DAYS, AUTO_CLEANUP = ON);

 

你可能感兴趣的:(SQLServer changtracking 增量获取)