首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否记录SQL Server 2008 Express数据库上的所有查询?

是否记录SQL Server 2008 Express数据库上的所有查询?
EN

Stack Overflow用户
提问于 2008-09-23 20:50:25
回答 5查看 97.2K关注 0票数 62

有没有办法让SQL Server 2008 Express记录每个查询(包括每个SELECT查询!)到一个文件里?

它是一台开发机器,所以记录Select-Queries的负面影响不是问题。

在有人建议使用SQL Profiler之前:这在Express中不可用(有人知道它在Web版中是否可用吗?)我正在寻找一种即使我不在的时候也能记录查询的方法。

EN

回答 5

Stack Overflow用户

发布于 2013-07-24 03:35:46

还有一种方法可以获取有关已在MS SQL Server Express described here上执行的查询的信息。

简而言之,它对系统表运行智能查询,并获取有关查询的信息(文本、执行时间)(如果需要,还可以获取缓存的查询计划)。因此,在MSSQL2008Express版中,您可以在没有事件探查器的情况下获得有关已执行查询的信息。

代码语言:javascript
复制
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
票数 30
EN

Stack Overflow用户

发布于 2013-05-20 17:30:08

…回答晚了,但我希望它能对这里的其他读者有所帮助…

除非只在开发环境中使用SQL Server Express,否则使用具有高级审核要求的SQL Server Express并不是真正的最佳选择。

您可以使用traces (www.broes.nl/2011/10/profiling-on-sql-server-express/)来获取所需的数据,但您必须自己解析这些数据。

有第三方工具可以做到这一点,但它们的成本将相当高。来自ApexSQL的Log explorer可以记录除select之外的所有内容,Idera’s遵从性管理器也会记录select语句,但它的成本要高得多。

票数 28
EN

Stack Overflow用户

发布于 2008-09-23 20:52:56

您可以记录更改。SQL Server 2008将通过变更数据捕获使这一点变得特别容易。但是SQL Server并不擅长记录选择。

从理论上讲,分析器可以做到这一点,但它会扼杀您的性能。你可能会在你的桌面上“逃脱惩罚”,但我想你会注意到你的机器运行得很慢,足以导致问题。而且在任何类型的部署之后,它肯定都不会工作。

其他几个人已经忽略了一个重要的点:除非他们为2008年做了一些我没有听说过的事情,否则你不能触发SELECT。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/123781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档