0
我有一個SQL異常發生在客戶端的生產服務器上(我沒有什麼權利)。跟蹤一個SQL異常
我不能在本地複製問題,但有沒有什麼好的方法來弄清楚什麼樣的sql異常被調用以及哪些sql?我可以重新部署並有權更改源代碼。
我的堆棧跟蹤是這樣的:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): ]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950954
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846939
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.CloseInternal(Boolean closeReader) +169
System.Data.SqlClient.SqlDataReader.Close() +96
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +292
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteScalar() +139
Output.RunTable(String outputType, String _outputDataType) +1106
Output.ProcessPage() +33
Output.Page_Load(Object sender, EventArgs e) +6466
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
我認爲異常信息,它的內部例外消息可以幫助你很多... – gdoron
我如何知道從哪裏獲取異常消息? – cdub
從SQL Server返回的錯誤消息位於SqlException的內部異常的*內部異常*(深度3級)中......所以您需要使用'exception.GetBaseException()。Message'來獲取SQL服務器錯誤。 –