11,850
社区成员
发帖
与我相关
我的任务
分享
Use master
go
/***
1 、建立测试环境:生成一个带主键的测试表 T_Trace
*/
if ( DB_ID ( 'db_Trace_test' ) is not null ) drop database db_Trace_test
go
Create DataBase db_Trace_test
go
use db_Trace_test
go
Create Table T_Trace ( id int not null , name varchar ( 100 )
CONSTRAINT [ PK_T_Trace ] PRIMARY KEY CLUSTERED ( [ id ] ASC )
)
go
/***
2 、配置数据库和表的更改跟踪参数
*/
ALTER DATABASE db_Trace_test SET
CHANGE_TRACKING = ON (
AUTO_CLEANUP = ON , -- 打开自动清理选项
CHANGE_RETENTION = 1 HOURS -- 数据保存期为时
);
ALTER TABLE dbo . T_Trace ENABLE CHANGE_TRACKING
go
/***
3 、向表中增加修改删除数据
*/
insert into T_Trace values ( 1 , ' 上海 ' ),( 2 , ' 北京 ' ),( 3 , ' 广州 ' )
delete from T_Trace where id = 3
update T_Trace set name = ' 天津 ' where id = 1
/***
4 、获取更改过的数据
*/
SELECT
CHG . Sys_Change_Version as 序列 , id as 主键 , Sys_change_Operation as 操作
FROM CHANGETABLE ( CHANGES dbo . T_Trace , 0 ) CHG
order by CHG . Sys_Change_Version
/*