SQL Server更改数据捕获 - 捕获更改的用户



涉及 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&合规经理。我两者都使用过,您都不会错。可能还有更多类似的工具。

相关内容

  • 没有找到相关文章

最新更新