SQL Server跟踪未捕获所有审核添加数据库用户事件

时间:2018-11-13 19:19:28

标签: sql-server sql-server-2014 sql-trace

在SQL Server 审核添加数据库用户事件类中,定义了四个事件子类

  1. 添加
  2. 拖放
  3. 授予数据库访问权限
  4. 撤消数据库访问权限

(找到了MS文档here

当我将SQL Server Profiler设置为跟踪“审核添加数据库用户事件类”时,似乎只捕获了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语句都应覆盖所有三个甚至子类。为了捕获这些事件子类,还需要配置一些其他东西吗?

1 个答案:

答案 0 :(得分:0)

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

当然,可以将其报告给MS,但是他们(很可能)只是说您应该使用不被弃用的技​​术。即扩展事件。我非常怀疑MS是否会投入任何资源来解决此问题,即使它一开始就将其视为错误。因此,我的建议是相同的:改为查看扩展事件。

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