修正: 非叢集索引可能發生損毀時您針對 SQL Server 中的資料表來執行複雜的 UPDATE 陳述式,以及 NOLOCK 提示

文章翻譯 文章翻譯
文章編號: 2878968 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當您執行複雜的UPDATE陳述式,以及NOLOCK提示對 Microsoft SQL Server 2008年,SQL Server 2012年、 SQL Server 2008 R2 或 SQL Server 2014年的資料表時,可能會發生非叢集索引損毀。此外,SQL Server 錯誤記錄檔中可能會記錄下列錯誤訊息:

日期>時間> spid # 錯誤: 8646,高的嚴重性等級: 21,狀態: 1。
日期>時間> spid # 找不到索引項目中的 2102402659,資料庫資料表中的索引識別碼 3 'DatabaseName>'。指定的索引已損毀,或目前的更新計劃的問題。執行 DBCC CHECKDB 或在於。如果問題持續發生,請連絡產品支援。
日期>時間> spid # 使用 'dbghelp.dll' ' 4.0.5 版 '
日期>時間> spid # * * 傾印執行緒: spid = 0,EC = 0x0000000BD70624C0
日期>時間> spid # * * * 堆疊傾印被傳送到 Y:\MSSQL\MSSQL10。MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
日期>時間> spid # *
日期>時間> spid # * 開始堆疊傾印:
日期>時間> spid # *日期>時間> spid #
日期>時間> spid # *
日期>時間> spid # * CPerIndexMetaQS::ErrorAbort-索引損毀
日期>時間> spid # *

附註
NOLOCK提示套陳述式中的來源資料表。不過,您不能套用於NOLOCK提示陳述式中的目標資料表。

發生的原因

NOLOCK提示就會查詢不正確地讀取資料表中的值,查詢會多次讀取相同的值時,就會發生這個問題。

解決方案

SQL Server 的下列累積更新已先修正問題。

SQL Server 2014年累積更新 1

SQL Server 2012年累積更新 11

SQL Server 2012 sp1 的累積更新 7

SQL Server 2008 SP3 的累積更新 13

SQL Server 2008 R2 sp2 的累積更新 9

關於 SQL Server 的累積更新

摺疊此圖像展開此圖像
assets folding start collapsed
SQL Server 每個新的累積更新包含所有的 hotfix,所有安全性修正程式,都包含在先前的累積更新。請檢查出最新的累積更新 SQL Server:
摺疊此圖像展開此圖像
assets folding end collapsed

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

屬性

文章編號: 2878968 - 上次校閱: 2014年4月21日 - 版次: 5.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 Service Pack 3?應用於:
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
關鍵字:?
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:2878968
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com