在SQL Server 审核添加数据库用户事件类中,定义了四个事件子类:
(找到了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语句都应覆盖所有三个甚至子类。为了捕获这些事件子类,还需要配置一些其他东西吗?
答案 0 :(得分:0)
自2012年以来,已弃用了旧的跟踪功能。我做了一些测试,根据执行的命令,我可以得到2。但是我从未设法得到1。如果您查看此事件类的文档,您将我会看到它被记录为在使用古老的过程sp_adduser,sp_dropuser等时可以提供信息。但是即使这样做,它似乎也有些不稳定。
当然,可以将其报告给MS,但是他们(很可能)只是说您应该使用不被弃用的技术。即扩展事件。我非常怀疑MS是否会投入任何资源来解决此问题,即使它一开始就将其视为错误。因此,我的建议是相同的:改为查看扩展事件。
这是我写的有关“进入” XE的博客:http://sqlblog.karaszi.com/tips-for-getting-started-with-extended-events/