有没有办法跟踪服务器已执行的所有查询?
我希望能够查看过去 2 天在服务器上执行的所有查询等。
查看脚本、执行日期、发件人等。 有什么办法吗?
我正在使用 SQL X 2005。
I want to be able to see all the queries that has been executed on the server last 2 days etc.
see the script, date of execution, sender etc.
is there any way?
I am using SQL X 2005.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为如果不运行 SQL Server Profiler,这是不可能的。
I don't believe it's possible without SQL Server Profiler running.
是的,您可以使用 SQL-Trace 记录提交到服务器的每个命令。它与探查器使用的机制相同,但您不必拥有探查器或任何其他工具即可使用它。
SQL Trace 有两种运行模式:内存缓冲区和磁盘文件。前者仅由探查器使用,没有文档记录,不应使用。使用磁盘文件模式。该文件稍后可以在相同或不同的计算机上打开,甚至加载到表中进行分析。
要了解更多信息,请访问此页面:http://msdn.microsoft.com/ en-us/library/ms191511.aspx 并搜索标题为“使用 Transact-SQL 存储过程通过 SQL 跟踪执行监视任务”的部分
Yes you can use SQL-Trace to log each command submitted to the server. It's the same mechanism used by the profiler, but you do not have to have the profiler or any other tool to use it.
There are two modes in which SQL Trace can run - in-memory buffer and disk file. The former is only used by profiler, is not documented and should not be used. Use the disk-file mode. The file can later on be opened on the same or different machine and even loaded into a table for analysis.
To learn more go to this page: http://msdn.microsoft.com/en-us/library/ms191511.aspx and search for section titled "To perform monitoring tasks with SQL Trace by using Transact-SQL stored procedures"
这是一个免费的开源 Profiler 工具,可能会有所帮助。
Microsoft SQL Server 2005/2008 Express Edition 的探查器
Here is a free, open-source Profiler tool that might help.
Profiler for Microsoft SQL Server 2005/2008 Express Edition