2009-12-02 37 views
0

我有一個SQL Server 2005數據庫和一個經典的ASP前端(不要問)。我試圖在IIS日誌文件(錯誤代碼80040e14)中調試一些錯誤,並且我對ASP的結尾沒有太多的喜悅。是否有可能直接從SQL Server中檢索導致錯誤的原始SQL,或者未能將SQL Server設置爲將來記錄此類錯誤的SQL?這些錯誤一週只發生幾次,所以我不確定Profiler是否會成爲這項工作的工具。是否有可能檢索SQL Server中返回錯誤的原始SQL?

回答

1

跟蹤標誌3602 +跟蹤標誌3605應該將錯誤消息放入SQL Server日誌中。見http://support.microsoft.com/kb/199037。根據我的經驗,這些工作在SQL Server 2005中。

另一種選擇是使用SQL事件探查器記錄用戶錯誤消息事件 - 這會給你錯誤的文本,但不會導致錯誤的語句。分析錯誤列不等於0的BatchCompleted事件應該爲您提供錯誤輸出的語句文本。這應該會讓你非常接近錯誤。

1

如果您使用ODBC數據源,則可以使用ODBC控制面板中的「跟蹤」選項卡打開跟蹤,如果我沒記錯,記錄所有到該數據源的流量。雖然,除非你可以可靠地迫使錯誤發生在需求之上,否則你將要結束一個巨大的日誌文件來通過。

因此,與使用Profiler錄製所有流量可能沒有多大區別。

除非您沒有權限對服務器運行分析器。

1

理論上跟蹤標誌3602是爲此設計的 - DBCCC TraceOn 3602 - 它不是理想的,我不確定它是否仍然在2005年,YMMV上工作。

相關問題