关于 SQL Server Change Data Capture ,您是否可以跟踪对行/列数据进行更改的用户,或者无论如何都要扩展CDC以允许此操作?我在文档中看不到任何内容。
答案 0 :(得分:3)
您可以创建一个新字段,在每个更改后存储和更新用户的详细信息,机器,时间等。
此外,您可以使用第三方工具进行用户审核 - SQL Audit& Compliance manager。我已经使用了两者,你不能错过任何一个。可能还有更多像那样的工具。
答案 1 :(得分:2)
您无法使用CDC捕获用户名..
您必须使用审核才能执行此操作,或者如果这是一次性请求,您可以查询TLOG ..
以下是请求相同的连接项..
CDC : options to capture more data (username, date/time, etc)
你也可以按照Aaron Bertrand的这篇文章Playing with CDC in Katmai使用触发器。
创建表格
CREATE TABLE cdc.dbo_test_CT_MoreInfo
(
startlsn BINARY(10),
seqval BINARY(10),
operation INT,
username SYSNAME NOT NULL DEFAULT SUSER_SNAME(),
eventDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (startlsn, seqval, operation)
);
GO
创建触发器:
CREATE TRIGGER cdc.LogMoreCDCInfo
ON cdc.dbo_test_CT
FOR INSERT
AS
BEGIN
IF @@ROWCOUNT > 0
BEGIN
INSERT cdc.dbo_test_CT_MoreInfo(startlsn,seqval,operation)
SELECT __$start_lsn, __$seqval, __$operation FROM inserted;
END
END
GO