如何在SQL Server Management Studio中查看已执行的查询?

bsh*_*52s 27 ssms sql-server-express

我是SQL Server Management Studio的新手,我想知道:有没有办法查看哪些查询已针对数据库运行?

在活动监视器中,有一个"最近昂贵的查询"报告,但我猜这不是所有的查询,因为我没有看到我运行的那些.

我正在运行SQL Server Express 2008 v 10.0.1600.22.

Ben*_*zar 19

使用SQL事件探查器并对其使用过滤器以获取最昂贵的查询.

  • 我忘了提到这是SQL Server Express.通过阅读其他帖子,看起来Profiler不包含在Express中.这还是正确的吗? (2认同)

Joh*_*ers 17

使用活动监视器.它是顶部栏中的最后一个工具栏.它将显示"最近的昂贵查询"列表.您可以双击它们以查看执行计划等.

  • +1告诉我们隐藏功能的位置以及如何使用它. (4认同)

Dwo*_*olk 15

如果要查看已执行的查询,则不支持默认方式执行此操作.您可以尝试一些变通方法但不希望找到所有变通方法.

您将无法确定地看到SELECT语句,但是有一种方法可以通过读取事务日志来查看其他DML和DDL命令(假设数据库处于完全恢复模式).

您可以使用DBCC LOG或fn_dblog命令或第三方日志阅读器(如ApexSQL Log)执行此操作(请注意该工具附带价格)

现在,如果您计划将来要执行的审计语句,那么您可以使用SQL事件探查器来捕获所有内容.


Mik*_*ney 10

您需要一个SQL分析器,它实际上在SQL Management Studio之外运行.如果您有一个付费版本的SQL Server(如开发人员版),它应作为另一个实用程序包含在其中.

如果您使用的是免费版(SQL Express),则可以下载免费软件配置文件.我使用过AnjLab的分析器(可从http://sites.google.com/site/sqlprofiler获得),它似乎运行良好.