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

文章翻譯 文章翻譯
文章編號: 826860 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
BUG #: 470007 (SQL Server 8.0)
全部展開 | 全部摺疊

在此頁中

徵狀

連結的伺服器查詢可能會傳回 NULL,如果下列情況成立,請設定其結果內的資料行:
  • 查詢是透過索引鍵集資料指標執行。
  • 在兩個或更多遠端資料表上執行 OUTER JOIN。
  • 4-部分名稱用於每個遠端資料表。
  • OUTER JOIN 與相關的所有遠端資料表具有唯一索引。
  • 沒有任何資料列會傳回從 OUTER JOIN 子句的內部資料表。
例如假設您有下列資料:
TableA
col1 col2
---- ----
   1    1

TableB
col1 col2
---- ----
   2    2
如果索引鍵集資料指標透過執行下列查詢,可能會發生這個問題:
SELECT * 
FROM rmtsvr.ownr.dbname.tableA A LEFT OUTER JOIN rmtsvr.ownr.dbname.tableB B
on 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 - 上次校閱: 2014年2月26日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:826860
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