涉及 SQL Server更改数据捕获,您可以跟踪 user 谁已更改为行/列数据或IS无论如何,可以扩展CDC吗?我看不到文档中的任何东西。
您无法使用CDC捕获用户名。
您必须使用审计来进行审计,或者如果这是一次请求,则可以查询tlog ..
以下是请求相同的连接项目。
CDC:捕获更多数据的选项(用户名,日期/时间等)
您也可以根据本文使用triggers在Aaron Bertrand的Katmai中使用CDC。
创建表:
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
您可以创建一个新的字段,每次更改后都会存储和更新用户的详细信息,机器,时间等。
此外,您可以使用第三方工具进行审核 - SQL Audit&合规经理。我两者都使用过,您都不会错。可能还有更多类似的工具。