有没有使用sql 2008 Management Studio查看命中服务器的查询的方法?我正在尝试调试一个程序,并收到诸如“关键字附近的语法错误”和“'等消息。由于查询是动态生成的,因此找出服务器将要执行的操作很麻烦。查看命中SQL的查询
任何帮助表示赞赏!
有没有使用sql 2008 Management Studio查看命中服务器的查询的方法?我正在尝试调试一个程序,并收到诸如“关键字附近的语法错误”和“'等消息。由于查询是动态生成的,因此找出服务器将要执行的操作很麻烦。查看命中SQL的查询
任何帮助表示赞赏!
有一个名为Profiler的工具,它会告诉你所有你需要的信息。 MSDN:http://msdn.microsoft.com/en-us/library/ms187929.aspx
我不知道任何使用SQL Server Management Studio执行此操作的方法,但是如果您安装了SSMS,那么您可能还安装了SQL Profiler。如果您启动并运行TSQL_SPs
概要分析器模板,则可以看到每个发出数据库的语句。
转到管理...活动监视器在对象浏览器中。
虽然没有生效,但您必须手动刷新它。
这给我最近昂贵的查询,但没有没有运行完成的查询。 虽然谢谢! – Shaded 2010-06-10 20:10:19
由于查询是动态生成的,因此找出服务器将要执行的操作很麻烦。
为什么不把生成的查询放到消息框中,或者打印到控制台或网页等?
试图在DB服务器上捕获它似乎是调试一些简单的即席查询的漫长过程。
它实际上是从Jasper报告发送查询,我可以打印出生成的部分查询,但无法打印出正在发送的实际查询。 – Shaded 2010-06-10 20:07:31
我明白了,那么我猜活动监视器会派上用场。 – 2010-06-10 20:11:49
启动从SSMS(工具 - > SQL Server事件探查)探查器,运行跟踪,并选择T-SQL事件
一种选择是使用SQL Server Profiler运行跟踪。但是,在某些商店中,SQL Server权限已设置,因此只有DBA才能运行跟踪。
如果您没有足够的权限运行跟踪,则另一个选项是查看生成SQL和运行SQL Server的应用程序之间的网络通信。 WireShark适用于此。
这似乎正是我所需要的...有点'学习'! 谢谢! – Shaded 2010-06-10 20:09:09