使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵狀

在 Microsoft SQL Server 2012 中,執行包含 IF EXISTS 語句的 SQL 查詢。 如果 IF EXISTS 語句包含動態管理函式 sys.dm_db_index_physical_stats,您會收到類似下列所示的存取違規:

[日期 時間spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *日期時間spid # *日期時間spid # * 開始堆疊轉儲:日期時間spid # * 日期時間 spid #日期時間spid # *日期時間spid # *日期時間 spid# * 例外位址 = 000007FF7DA5614B 模組(sqlmin + 000000000000614B)日期時間spid # * 例外狀況date= c0000005 EXCEPTION_ACCESS_VIOLATION日期時間 spid #* 輸入緩衝區510位元組- #日期時間spid #*SQL_query_code日期時間spid # * 結束

注意事項

  • 如果您在發生存取侵犯之後針對該資料庫執行 DBCC CHECKDB 命令,就不會報告錯誤。

  • 當您第一次執行 SQL 查詢時,不會發生存取違規。 不過,每次執行 SQL 查詢之後,就會發生存取違規。

  • 如果您啟用追蹤標誌3654,就不會發生存取違規。 不過,您可以改為在追蹤中收到下列錯誤:

    位置: sosmemdbg:2074Expression: FALSESPID: 55Process ID:16972Description: MEMOBJ_INDEXANALYSIS--檢測到 Unfreed 記憶體。Msg 3624,等級20,狀態1,行5A 系統斷言檢查失敗。 如需詳細資訊,請參閱 SQL Server 錯誤記錄。 通常,宣告失敗是由軟體錯誤或資料損毀所導致。 若要檢查資料庫是否損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間將轉儲傳送至 Microsoft,則會將迷你轉儲傳送至 Microsoft。 您可以從 Microsoft 最新 Service Pack 中的 Microsoft 取得更新,或從技術支援取得 QFE。 Msg 0,階層20,狀態0,行0A 在目前命令上發生嚴重錯誤。 結果(如果有的話)應該捨棄。

解決方案

若要解決此問題,請安裝 SQL Server 2012 SP1 的累積更新 7。 這個問題首先是在這個累積更新中修正。

每個新的 SQL Server 累積更新都包含前一個累積更新中所包含的所有修復程式及所有安全性修正程式。 如需詳細資訊,請參閱 SQL Server 2012 SP1 的最新累計更新

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考

請參閱 Microsoft 用於描述軟體更新的 術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×