FIX: 錯誤訊息: 「 沒有足夠的索引鍵資料行資訊來更新 」 發生在 SQL Server 2000 SP3 中

文章翻譯 文章翻譯
文章編號: 814893 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
在 SP4 CPR-SQL 2000-Hotfix
Bug #: 364087 (SHILOH_BUGS)
全部展開 | 全部摺疊

在此頁中

徵狀

套用下列其中一項之後
  • 所述的 Hotfix
    321541FIX: SQL Server 可能會傳回不正確的結果當您使用外部聯結和檢視
    如果電腦正在執行 Microsoft SQL Server 2000 Service Pack 2 (SP2)。
  • 安全性 Hotfix,Microsoft SQL Server 2000 SP2 的 Microsoft Security Bulletin MS02-061 中所述。
  • Microsoft SQL Server 2000 Service Pack 3 (SP3)。
您可能會收到下列錯誤訊息:
沒有足夠的索引鍵資料行的更新或重整的資訊。

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version        Size              File name
   ------------------------------------------------------------------
   08-Feb-2003  05:43                    786,432 bytes  Distmdl.ldf
   08-Feb-2003  05:43                  2,359,296 bytes  Distmdl.mdf
   01-Feb-2003  00:32  2000.80.763.0   1,557,052 bytes  Dtsui.dll        
   30-Jan-2003  05:18                    746,470 bytes  Instdist.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   08-Feb-2003  03:53                  1,065,895 bytes  Replmerg.sql
   08-Feb-2003  06:40  2000.80.765.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   30-Jan-2003  05:18                  1,084,318 bytes  Replsys.sql
   08-Feb-2003  06:40  2000.80.765.0     176,696 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   15-Feb-2003  02:52  2000.80.769.0   7,512,145 bytes  Sqlservr.exe     
   15-Feb-2003  02:52                 12,715,008 bytes  Sqlservr.pdb
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   08-Feb-2003  06:40  2000.80.765.0      82,492 bytes  Ssnetlib.dll     
				
附註由於檔案相依性最新版 Hotfix 或包含檔案的功能也可能包含其他檔案。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

本文所述的 Hotfix regresses 下列 「 Microsoft 知識庫 」 文件所述的修正程式:
321541FIX: SQL Server 可能會傳回不正確的結果當您使用外部聯結和檢視


附註若要以便 Hotfix 中操作這篇文章討論您必須啟用追蹤旗標-T220,並重新啟動 SQL Server。

若要以便追蹤旗標,請依照下列步驟執行:
  1. 開啟 [伺服器上的 [SQL 企業管理員]。
  2. 按一下以選取發生問題的伺服器。
  3. 在伺服器上按一下滑鼠右鍵,然後按一下 [內容]。
  4. 在 [一般] 索引標籤上按一下 [啟動參數
  5. 在 [啟動參數] 對話方塊輸入 -T220,然後再按一下 [新增]。
  6. 按一下 [確定]
  7. 停止,然後重新啟動 Mssqlserver 服務重新啟動 SQL Server。

問題的範例,在何種追蹤旗標-T220 不會依照。
這個範例使用兩個名為 Test_Table1Test_Table2 的範例資料表。請考慮下列的資料表和檢視:
CREATE TABLE TEST_TABLE1 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 

CREATE TABLE TEST_TABLE2 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 
go
CREATE VIEW dbo.TEST_VIEW 
AS 
SELECT CODE, 
UPPER(DESCRIPTION) AS DESCRIPTION, 
ISNULL(UPPER(DESCRIPTION), 'DEFAULT') DESCRIPTION_DEF 
FROM dbo.TEST_TABLE2 
go
現在,執行此程式碼:
DECLARE cc CURSOR FOR 
SELECT TEST_TABLE1.CODE, TEST_VIEW.DESCRIPTION, TEST_VIEW.DESCRIPTION_DEF 
FROM TEST_TABLE1 LEFT OUTER JOIN TEST_VIEW 
ON TEST_VIEW.CODE = TEST_TABLE1.CODE 
FOR UPDATE
  • 對於 SQL Server 2000 版本 SQL Server 2000 SP2 之前,Microsoft Security Bulletin MS02-061 安裝,所述的安全性 Hotfix 與程式碼執行成功。
  • 所有 SQL Server 2000 版本在 SQL Server 2000 SP2 之後使用安全性 Hotfix 中 Microsoft Security Bulletin MS02-061 安裝,討論程式碼不會成功執行。
  • 對於 SQL Server 2000 版本 8.00.0769 並稍後,時使用追蹤旗標-T220 或 DBCC traceon (220)、 程式碼已順利執行。
同時也請注意 SELECT 陳述式並不會提供相同的結果。
  • SQL Server 2000 版本 SQL Server 2000 SP2 之前,與 Microsoft Security Bulletin MS02-061 安裝,所述的安全性 Hotfix 或張貼 8.00.0769 使用追蹤旗標 220,結果會類似於:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               DEFAULT
    
    
  • Microsoft Security Bulletin MS02-061 安裝,所述的安全性 Hotfix 與 SQL Server 2000 SP2 之後 SQL Server 2000 版本的結果是類似於:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               NULL
    

屬性

文章編號: 814893 - 上次校閱: 2014年2月26日 - 版次: 4.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Service Pack 3
關鍵字:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814893 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:814893
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