2011-03-04 54 views
5

我有什么似乎是一个简单的目标来完成,但我还没有找到一个好的解决方案。谷歌没有揭示它,我只是希望我一直在错误的地方寻找解决方案,或者试图以错误的方式使用工具...仅记录SQL服务器上的错误查询

或者,今天对我来说已经太迟了想清楚:)但我希望这是你能帮助我的地方。

我需要只能记录在特定SQL Server实例上执行的错误查询。我认为SQL Profiler可以让我立刻做到这一点,但是我一直无法找到允许我只记录那些查询的设置组合,这些设置会返回一个错误(很可能是解析错误)+错误细节。

想象SQL Server每秒执行的查询数量为100,而且每天只有1或2个查询结果不正确,导致分析错误。我只需要能够每天查看这些1-2条查询,而不必为系统上的所有查询运行非常昂贵的配置文件,并且每天都要仔细查看。

这可能吗?

+0

你在什么版本的SQL Server?扩展事件具有更灵活的过滤体系结构。 – 2011-03-04 22:32:06

+0

这个特殊的实例是基于SQL Server 2005的 – 2011-03-04 22:53:44

回答

10

设置Exception Event Class,SQL:BatchCompleted Event ClassRPC:Completed Event Class的跟踪。为Error添加一个不等于0的过滤器。开始跟踪。完成。

+0

我知道现在找到正确的解决方案为时已晚......谢谢,伙计!这是一个很好的开始,经过一些调整后,我只需要我。非常感激。 – 2011-03-04 22:52:42

+0

当我尝试这样做时,我得到了异常,但我的跟踪中没有任何'SQL:BatchCompleted'或'RPC:Completed'? – leeand00 2014-01-31 19:15:40

+0

我还建议添加[用户错误消息](https://msdn.microsoft.com/en-us/library/ms190953.aspx)(查看错误的详细说明);并过滤掉'错误'0,5701和5703(最后两个代码是不重要的通知) – 2015-07-15 20:30:17