2011-01-24 108 views
1

我有一個相對複雜的同步操作,突然拋出一個SqlDateTimeOverflow錯誤冒泡通過MS實體框架。如何找到SqlDateTimeOverflow來自哪裏?

有沒有辦法讓SQL 2005服務器日誌失敗的事務,所以我們可以找到這是從哪裏來?關於如何「標記」這些交易以至少了解發生在哪個表上的任何提示?

編輯:順便說一下,調試代碼當然在進行中,但是在SQL級別上跟蹤它可能會縮小這一點。

回答

1

您可以使用SQL Server Profiler跟蹤SQL。這很簡單,因爲您無需更改應用程序。

此異常的最常見原因是未初始化的DateTime屬性。 SQL Server的奇怪限制DATETIME類型不能處理年份0中的日期。

+0

有沒有像'0年'這樣的事情?我認爲它們是從1開始編號的。但`datetime`的限制確實有點奇怪。 – 2011-01-28 10:21:27