查看SQL Server执行日志理想情况下用于调试

时间:2010-09-22 00:12:24

标签: sql sql-server database tsql

我想知道是否有办法检查SQL Server的执行日志。我不是在讨论专有事务日志或错误日志。但只是最近执行的日志以冗长的方式进行调试。

例如,我有一个调用存储过程,传入参数和填充网格视图等的Web应用程序。在SQL管理工作室中,我想看(通过日志文件或运行T-SQL查询)执行了存储过程或sql语句,传入的参数的值是什么以及返回的值是什么等。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

通常,这是使用Profiler应用程序实现的:

  

监控每个Transact-SQL活动   用户。

     

您可以创建捕获的跟踪   与会议有关的活动,   ExistingConnection和TSQL事件   类。包括所有数据列   跟踪,不指定任何事件   标准,并对捕获的组进行分组   DBUserName的事件。

监控SQL:BatchCompletedSP:Completed事件确切地说明了用户执行的操作。添加SP:StmtCompleted会在调用的过程中按语句提供执行语句的跟踪,但是非常昂贵并且会降低服务器的速度。您可以获取传入的参数值,但是您将无法获取返回给客户端的值和行集。

使用SQL事件探查器进行监控只能在测试环境中进行,因为对生产计算机的影响很大。使用sp_trace_xxx过程完成的服务器端跟踪更好,但如果跟踪频繁生成的事件(如每个语句),它们仍会产生严重影响。