ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# **SQLServer****开启****change Tracking** ## 第一步: 1、对库级别操作 ALTER DATABASE 数据库名 SET CHANGE\_TRACKING = ON (CHANGE\_RETENTION = 2 DAYS,AUTO\_CLEANUP = ON) 2、查看是否生效 SELECT DB\_NAME(database\_id) DataBaseName,is\_auto\_cleanup\_on,retention\_period,retention\_period\_units\_desc FROM sys.change\_tracking\_databases ## 第二步: 1、对表级别操作 \--对表启用更改跟踪 ALTER TABLE \[dbo\].\[Department\] ENABLE CHANGE\_TRACKING WITH (TRACK\_COLUMNS\_UPDATED = ON) SELECT 'ALTER TABLE '+table\_schema+'.\['+table\_name+'\] ','ENABLE CHANGE\_TRACKING WITH (TRACK\_COLUMNS\_UPDATED = ON);' FROM INFORMATION\_SCHEMA.TABLES where TABLE\_schema='dbo' and table\_catalog='库名' 以上命令执行后会有很多sql,然后执行那些sql即可。 2、查看是否生效 SELECT OBJECT\_NAME(object\_id) TableName,is\_track\_columns\_updated\_on FROM sys.change\_tracking\_tables ## 第三步:(可针对个别表进行开启或者全部开启,可选择执行) 针对表级别 grant select on table\_name to user; grant view change tracking on object::table\_name to user; 或 对schema级别 grant select on schema::dbo to user; grant view change tracking on schema::dbo to user;