0

在 SQL Server Audit Add DB User Event Class中,定义了四个Event Sub Classes

  1. 添加
  2. 降低
  3. 授予数据库访问权限
  4. 撤销数据库访问

(在这里找到 MS 文档)

当我设置 SQL Server Profiler 来跟踪 Audit Add DB User Event Class 时,它似乎只捕获具有 3 或 4 子类的事件,而不是 1 或 2。

为了测试跟踪,我使用了以下 SQL 语句:

CREATE USER testuser FOR LOGIN testlogin;
DROP USER testuser;

当我在 SQL Server Management Studio 中运行这些语句时,SQL Server Profiler 显示两个审核添加数据库用户事件,一个带有 EventSubClass 3(授予数据库访问权限),一个带有 EventSubClass 4(撤销数据库访问权限),但没有显示 EventSubClass 1 的任何内容(添加)或 EventSubClass 2(删除)。

据我所知,上面使用的 SQL 语句应该涵盖所有三个偶数子类。为了捕获这些事件子类,是否需要配置一些额外的东西?

4

1 回答 1

0

自 2012 年以来,旧的跟踪功能已被弃用。我做了一些测试,根据我执行的命令,我可以得到 2。但我从来没有设法得到 1。如果你查看这个事件类的文档,你会看到当您使用古老的程序 sp_adduser、sp_dropuser 等时,它被记录在案以提供信息。但即使这样做似乎有点不稳定。

当然,可以向 MS 报告此情况,但他们(很可能)只会说您应该使用一种不被弃用的技​​术。即,扩展事件。我非常怀疑 MS 是否会投入任何资源来修复这个问题,即使这首先会认为这是一个错误。所以,我的建议是一样的:改为查看扩展事件。

这是我写的关于“进入”XE 的博客: http: //sqlblog.karaszi.com/tips-for-getting-started-with-extended-events/

于 2018-11-13T20:15:07.670 回答