FIX: 連結的伺服器查詢可能會傳回 NULL 如果它透過索引鍵集資料指標執行

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:826860
本文已封存。本文係以「現狀」提供且不會再更新。
BUG #: 470007 (SQL Server 8.0)
徵狀
連結的伺服器查詢可能會傳回 NULL,如果下列情況成立,請設定其結果內的資料行:
  • 查詢是透過索引鍵集資料指標執行。
  • 在兩個或更多遠端資料表上執行 OUTER JOIN。
  • 4-部分名稱用於每個遠端資料表。
  • OUTER JOIN 與相關的所有遠端資料表具有唯一索引。
  • 沒有任何資料列會傳回從 OUTER JOIN 子句的內部資料表。
例如假設您有下列資料:
TableAcol1 col2---- ----   1    1TableBcol1 col2---- ----   2    2
如果索引鍵集資料指標透過執行下列查詢,可能會發生這個問題:
SELECT * FROM rmtsvr.ownr.dbname.tableA A LEFT OUTER JOIN rmtsvr.ownr.dbname.tableB Bon A.col1=B.col1 and A.col2=B.col2
解決方案

服務套件資訊

如果要解決這個問題,取得最新的 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   --------------------------------------------------------------------   31-May-2003  18:45   2000.80.818.0     78,400   Console.exe   25-Jun-2003  01:01   2000.80.818.0     33,340   Dbmslpcn.dll   25-Apr-2003  02:12                    786,432   Distmdl.ldf   25-Apr-2003  02:12                  2,359,296   Distmdl.mdf   30-Jan-2003  01:55                        180   Drop_repl_hotfix.sql   23-Jun-2003  22:40   2000.80.837.0  1,557,052   Dtsui.dll   23-Jun-2003  22:40   2000.80.837.0    639,552   Dtswiz.dll   24-Apr-2003  02:51                    747,927   Instdist.sql   03-May-2003  01:56                      1,581   Inst_repl_hotfix.sql   08-Feb-2003  06:40   2000.80.765.0     90,692   Msgprox.dll   01-Apr-2003  02:07                      1,873   Odsole.sql   05-Apr-2003  01:46   2000.80.800.0     62,024   Odsole70.dll   07-May-2003  20:41   2000.80.819.0     25,144   Opends60.dll   07-May-2003  18:47                    132,096   Opends60.pdb   02-Apr-2003  21:48   2000.80.796.0     57,904   Osql.exe   02-Apr-2003  23:15   2000.80.797.0    279,104   Pfutil80.dll   04-Aug-2003  18:17                    550,780   Procsyst.sql   22-May-2003  22:57                     19,195   Qfe469571.sql   11-Jul-2003  17:04                  1,084,147   Replmerg.sql   04-Apr-2003  21:53   2000.80.798.0    221,768   Replprov.dll   08-Feb-2003  06:40   2000.80.765.0    307,784   Replrec.dll   11-Jul-2003  16:56                  1,085,925   Replsys.sql   29-Jul-2003  20:13   2000.80.819.0    492,096   Semobj.dll   31-May-2003  18:27   2000.80.818.0    172,032   Semobj.rll   05-Aug-2003  21:06                    127,884   Sp3_serv_uni.sql   01-Jun-2003  01:01   2000.80.818.0  4,215,360   Sqldmo.dll   07-Apr-2003  17:44                     25,172   Sqldumper.exe   19-Mar-2003  18:20   2000.80.789.0     28,672   Sqlevn70.rll   02-Jul-2003  00:18   2000.80.834.0    180,736   Sqlmap70.dll   08-Feb-2003  06:40   2000.80.765.0     57,920   Sqlrepss.dll   07-Aug-2003  19:11   2000.80.850.0  7,598,164   Sqlservr.exe   07-Aug-2003  19:11                 12,755,968   Sqlservr.pdb   25-Jul-2003  21:44   2000.80.845.0    590,396   Sqlsort.dll   08-Feb-2003  06:40   2000.80.765.0     45,644   Sqlvdi.dll   25-Jun-2003  01:01   2000.80.818.0     33,340   Ssmslpcn.dll   01-Jun-2003  01:01   2000.80.818.0     82,492   Ssnetlib.dll   01-Jun-2003  01:01   2000.80.818.0     25,148   Ssnmpn70.dll   01-Jun-2003  01:01   2000.80.818.0    158,240   Svrnetcn.dll   31-May-2003  18:59   2000.80.818.0     76,416   Svrnetcn.exe   30-Apr-2003  23:52   2000.80.816.0     45,132   Ums.dll   30-Apr-2003  23:52                    132,096   Ums.pdb   02-Jul-2003  00:19   2000.80.834.0     98,816   Xpweb70.dll   23-Jun-2003  22:40   2000.80.837.0  1,557,052   Dtsui.dll   23-Jun-2003  22:40   2000.80.837.0    639,552   Dtswiz.dll   02-Apr-2003  21:48   2000.80.796.0     57,904   Osql.exe   02-Apr-2003  23:15   2000.80.797.0    279,104   Pfutil80.dll   29-Jul-2003  20:13   2000.80.819.0    492,096   Semobj.dll   31-May-2003  18:27   2000.80.818.0    172,032   Semobj.rll   01-Jun-2003  01:01   2000.80.818.0  4,215,360   Sqldmo.dll   07-Apr-2003  17:44                     25,172   Sqldumper.exe   01-Jun-2003  01:01   2000.80.818.0    158,240   Svrnetcn.dll   31-May-2003  18:59   2000.80.818.0     76,416   Svrnetcn.exe
附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。


附註這個 Hotfix 必須套用到不到遠端伺服器的一個本機伺服器。
其他可行方案
如果要解決這個問題而定,使用 [下列的其中一個方法]:
  • 使用靜態資料指標,而不要使用索引鍵集資料指標。
  • 您可以使用通過查詢而非 4 部分名稱查詢。如果要執行這項操作,您可以使用下列的 Transact-SQL 函數之一:
    • OPENQUERY
    • OPENROWSET
  • 使用臨機操作查詢而非資料指標。
  • 如果您可以將唯一的索引變更為遠端資料表上的非唯一索引。這會變更資料指標型別為靜態。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。
其他相關資訊
如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

警告:本文為自動翻譯

內容

文章識別碼:826860 - 最後檢閱時間:02/26/2014 18:19:07 - 修訂: 8.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB826860 KbMtzh
意見反應