修正: 錯誤訊息會記錄當您在 SQL Server 2012年] 或 [2014年執行不可快取的自動參數化查詢

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3068703
徵狀
當 SQL Server 執行時不可快取的自動參數化查詢時,查詢可能會產生在極少數的情況下發生存取違規。存取違規會記錄在 SQL Server 錯誤記錄檔,以及呼叫堆疊,其中包含下列的範例片段:

***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txtSqlDumpExceptionHandler: Process #### generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.* ********************************************************************************* BEGIN STACK DUMP:*  date time spid #*** Exception Address = 000007FA0B512E2F Module(sqllang+0000000000E72E2F)* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION* Access Violation occurred reading address 0000000000000018** Input Buffer ### bytes -* select identifier, registration_date, model, digit, place, failure, address,  * remote_control, phone_number, state, location, updated, mta, * home_id, vod_address, observations  * from equipment with(nolock) * where branch_group = 1 and equipment_type = 2 * and series = 'SERIES_AAA'*  * ******************************************************************************** -------------------------------------------------------------------------------* Short Stack Dump000007FA0B512E2F Module(sqllang+0000000000E72E2F)000007FA0B57D7D2 Module(sqllang+0000000000EDD7D2)000007FA0A74788B Module(sqllang+00000000000A788B)000007FA0A746B5C Module(sqllang+00000000000A6B5C)000007FA0A747034 Module(sqllang+00000000000A7034)000007FA0A746F8C Module(sqllang+00000000000A6F8C)000007FA0A6C9851 Module(sqllang+0000000000029851)000007FA0AB5CF5C Module(sqllang+00000000004BCF5C)000007FA0AB54397 Module(sqllang+00000000004B4397)000007FA09990430 Module(sqldk+0000000000010430)000007FA09990214 Module(sqldk+0000000000010214)000007FA0998FEF7 Module(sqldk+000000000000FEF7)000007FA099AF15F Module(sqldk+000000000002F15F)000007FA099AF1E0 Module(sqldk+000000000002F1E0)000007FA099AE70E Module(sqldk+000000000002E70E)000007FA099AEFB9 Module(sqldk+000000000002EFB9)000007FA17411832 Module(KERNEL32+0000000000001832)000007FA19B1D609 Module(ntdll+000000000005D609)

在這個範例中,symptomsare,如下所示:
  • 簡單的查詢,以在其 WHERE 子句中提供一或多個常數。SQL Server 可能會自動參數化這些常數。
  • "讀取位址 0000000000000018 」 字串時,發生存取違規。(這個字串以在 「 18 」,在 64 位元系統中,在 32 位元系統上的"0 C")。
  • 簡短的堆疊傾印的內容會有相同或類似的深度和相對位置的堆疊框架 (不一定完全相符)。

    附註本範例是來自 SQL Server 的 64 位元執行個體。它也會不同,但仍可辨識答 32 位元執行個體的範例中。

累積的更新資訊

下列的累積更新 SQL Server 的第一次修正這個問題。
建議: 安裝最新的 SQL Server 累積更新

每個新的累積更新的 SQL Server 包含的所有 hotfix 與安全性修正,全都包含在先前的累積更新。取出 SQL Server 的最新的累積更新:
狀況說明
Microsoft 已確認這是<套用> 一節所列出的 Microsoft 產品的問題。
参考
深入了解 術語 ,Microsoft 會用其來描述軟體更新。

警告:本文為自動翻譯

內容

文章識別碼:3068703 - 最後檢閱時間:09/04/2015 07:52:00 - 修訂: 3.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbqfe kbsurveynew kbfix kbexpertiseinter kbmt KB3068703 KbMtzh
意見反應