SQL Server更改数据捕获-捕获进行更改的用户 [英] SQL Server Change Data Capture - Capture user who made the change

查看:110
本文介绍了SQL Server更改数据捕获-捕获进行更改的用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

关于 SQL Server更改数据捕获 ,您是否可以跟踪对行/列数据进行了更改的用户,或者是否有扩展CDC的权限?我在文档中什么都看不到.

Concerning SQL Server Change Data Capture, can you track the User who has made the change to the row/column data or is there anyway to extend CDC to allow this? I couldn't see anything in the documentation.

推荐答案

您无法使用CDC捕获用户名.

You can't capture username with CDC..

您必须使用审核来执行此操作,或者如果这是一次请求,则可以查询TLOG.

You have to use Auditing to do so or if this is a one time request,you can query TLOG..

下面是要求相同的连接项.

Below is the connect item requesting the same..

您还可以根据本文使用来自亚伦·伯特兰(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 Server更改数据捕获-捕获进行更改的用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆