审计Sql Server中存储过程的执行

时间:2012-12-13 19:48:33

标签: sql sql-server stored-procedures audit

我的老板和我一直试图看看我们可以为我们的存储过程尝试什么样的审计计划。目前有两个外部应用程序通过存储过程从我们的数据库中获取信息,我们感兴趣的是在执行它们时进行审计,以及将哪些值作为参数传递。到目前为止,我所做的只是为其中一个应用程序正在使用的存储过程创建一个表,并且当它们使用相同的输入参数时,每个参数都有一列。显然这不是最佳选择,但我们希望获得快速信息,以查看它们是否正在运行批处理进程以及何时运行它们。我已经尝试过SQL Server Audit,但除非您在查询中执行SP,否则它不会捕获参数。

3 个答案:

答案 0 :(得分:0)

SQL Server Profiler将为您执行此操作;它包括在内免费。设置跟踪并让它运行。

您还可以对跟踪应用相当多的过滤,因此您无需跟踪所有内容;您还可以将输出定向到文件或sql表以供以后分析。这可能是您进行限时审核的最佳选择。

答案 1 :(得分:0)

我认为我过去曾使用SQL Server Profiler(http://msdn.microsoft.com/en-us/library/ms181091.aspx)来审核SQL执行。这不是你会一直运行的东西,但你可以快速了解正在运行的内容以及它的执行方式。

答案 2 :(得分:0)

我没有尝试使用它们,但您可能会查看事件通知,看看它们是否适合您。

来自BOL

  

事件通知可用于执行以下操作:

     

记录并查看数据库中发生的更改或活动。