使用數據庫的應用程序突然中斷。我開始調查,發現一個簡單的計數查詢如何在SQL Server 2008上調試EXCEPTION_ACCESS_VIOLATION
SELECT count(uberdataid) FROM [Alexander].[dbo].[UberData]
創建SQL Server中的錯誤:
Msg 0, Level 11, State 0, Line 0 A severe error occurred on the current command. The results, if any, should be discard
的一點想法:
當我檢查出錯誤的堆棧跟蹤它說有一個EXCEPTION_ACCESS_VIOLATION。該異常的名稱使我認爲查詢中可能存在權限問題。但是,我在許多不同的用戶帳戶上得到了完全相同的錯誤(這些錯誤都可以在沒有問題的情況下查詢數據庫)。
關於SO的這個討論(Exception Access Violation in SQL)讓我覺得這個查詢可能會造成持續的記錄鎖定,但我已經重啓了服務器,所以看起來不太可能。
在其他留言板上還有一些其他未解決的討論在線。
任何想法?
Stackoverflow不會讓我發佈整個跟蹤(太長),但我很高興發佈相關部分,如果人們需要看到他們。我不知道哪些痕跡是最重要的。
沒有發佈這個答案,因爲我對SQL Server一無所知。訪問衝突表示SQL Server正在發生分段錯誤。那將是一件壞事。有可能你的桌子被損壞了。您可以嘗試從問題出發之前進行舊備份,以查看問題是否未經歷過。除此之外,如果這很容易重現,您可能會發現一個錯誤。 – Wug 2012-07-16 20:19:34
什麼是SQL Server的構建(SELECT @@ VERSION)?大多數訪問違規都是錯誤,大部分都已修復,但除了在AV發生的環境中,它們很難進行測試和證明。 – 2012-07-16 20:19:45
@AaronBertrand Microsoft SQL Server 2008(SP3) - 10.0.5500.0(X64)Sep 21 2011 22:45:45 Copyright(c)1988-2008 Windows NT 6.0上的Microsoft Corporation企業版(64位)(內部版本6002: Service Pack 2) –
bernie2436
2012-07-16 21:54:33