grochu Asked: 2021-11-05 03:22:10 +0800 CST2021-11-05 03:22:10 +0800 CST 2021-11-05 03:22:10 +0800 CST 更改跟踪中是否有任何选项可以跟踪表特定列的更改? 772 您是否知道是否可以使用“跟踪更新的列”来跟踪更改(更改跟踪或 CDC),但只能跟踪我们想要跟踪的特定列。原因是我们有一个包含 300 列的表,我们只想跟踪其中的 5 个。 sql-server-2016 change-tracking 1 个回答 Voted Best Answer J.D. 2021-11-05T03:41:43+08:002021-11-05T03:41:43+08:00 是的,当您根据参数通过过程启用表时, CDC可以仅跟踪对指定列的更改:sys.sp_cdc_enable_tablecaptured_column_list 标识要包含在更改表中的源表列。capture_column_list 是 nvarchar(max) 并且可以为 NULL。如果为 NULL,则所有列都包含在更改表中。 有关启用 CDC 和仅指定要跟踪的列子集的更多信息,您可以阅读Change Data Capture for auditing SQL Server,其中还提到: 在数据库级别启用 CDC 后,我们可以通过 db_owner 固定数据库角色的成员,使用 sys.sp_cdc_enable_table 系统存储过程启用它来跟踪和审计数据库表上的 DML 更改,并使其能够跟踪@captured_column_list 参数指定的列列表的更改...
是的,当您根据参数通过过程启用表时, CDC可以仅跟踪对指定列的更改:
sys.sp_cdc_enable_table
captured_column_list
有关启用 CDC 和仅指定要跟踪的列子集的更多信息,您可以阅读Change Data Capture for auditing SQL Server,其中还提到: