您目前已離線,請等候您的網際網路重新連線

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

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

按一下這裡查看此文章的英文版本: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 的累積更新

SQL Server 每個新的累積更新包含所有的 hotfix,所有安全性修正程式,都包含在先前的累積更新。請檢查出最新的累積更新 SQL Server:
狀況說明
Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

警告:本文為自動翻譯

內容

文章識別碼:2878968 - 最後檢閱時間:04/21/2014 20:07:00 - 修訂: 5.0

Microsoft SQL Server 2008 Service Pack 3, 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
意見反應
ent.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">