FIX: 加入檢視表的查詢可能執行緩慢如果檢視表包含外部聯結

文章翻譯 文章翻譯
文章編號: 840406 - 檢視此文章適用的產品。
Bug #: 471308 (SHILOH_BUGS)
全部展開 | 全部摺疊

在此頁中

徵狀

如果您有聯結 (Join) 一個檢視的查詢,且該檢視包含外部聯結,可能會緩慢地執行查詢。

發生的原因

Microsoft SQL Server 查詢最佳化器並不會產生查詢計劃最佳化期間可能更有效率的特定聯結訂單,就會發生這個問題。

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 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  16:45  2000.80.818.0      78,400  Console.exe      
   25-Mar-2004  20:27  2000.80.928.0     315,968  Custtask.dll     
   30-Jan-2004  14:29  2000.80.911.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  00:12                    786,432  Distmdl.ldf
   25-Apr-2003  00:12                  2,359,296  Distmdl.mdf
   29-Jan-2003  23:55                        180  Drop_repl_hotfix.sql
   12-Sep-2003  01:26  2000.80.859.0   1,905,216  Dtspkg.dll       
   26-Aug-2003  18:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  20:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  20:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  00:51                    747,927  Instdist.sql
   02-May-2003  23:56                      1,581  Inst_repl_hotfix.sql
   30-Jan-2004  14:29  2000.80.911.0      90,692  Msgprox.dll      
   01-Apr-2003  00:07                      1,873  Odsole.sql
   30-Jan-2004  14:29  2000.80.911.0      62,024  Odsole70.dll     
   30-Jan-2004  14:29  2000.80.911.0      25,144  Opends60.dll     
   30-Jan-2004  14:29  2000.80.911.0      57,904  Osql.exe         
   02-Apr-2003  21:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  16:17                    550,780  Procsyst.sql
   11-Sep-2003  22:37                     12,305  Qfe469315.sql
   22-May-2003  20:57                     19,195  Qfe469571.sql
   25-Mar-2004  19:03                  1,104,848  Replmerg.sql
   30-Jan-2004  14:29  2000.80.911.0     221,768  Replprov.dll     
   30-Jan-2004  14:29  2000.80.911.0     307,784  Replrec.dll      
   29-Jan-2004  21:24  2000.80.911.0     159,813  Replres.rll
   05-Sep-2003  22:00                  1,087,150  Replsys.sql
   13-Aug-2003  14:28                    986,603  Repltran.sql
   30-Jan-2004  14:29  2000.80.911.0     287,304  Rinitcom.dll     
   25-Mar-2004  20:27  2000.80.928.0      66,112  Semmap.dll       
   30-Jan-2004  14:29  2000.80.911.0      57,916  Semnt.dll        
   29-Jul-2003  18:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  16:27  2000.80.818.0     172,032  Semobj.rll
   02-Jan-2004  17:42  2000.80.904.0      53,832  Snapshot.exe     
   09-Dec-2003  18:07                    117,834  Sp3_serv_uni.sql
   04-Feb-2004  22:46  2000.80.913.0      28,672  Sqlagent.dll     
   04-Feb-2004  22:47  2000.80.913.0     311,872  Sqlagent.exe     
   19-Feb-2004  16:02  2000.80.916.0     168,001  Sqlakw32.dll     
   12-Mar-2004  02:34  2000.80.923.0      33,344  Sqlctr80.dll     
   30-Jan-2004  14:29  2000.80.911.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  15:44                     25,172  Sqldumper.exe    
   29-Jan-2004  21:17  2000.80.911.0      28,672  Sqlevn70.rll
   05-Mar-2004  15:13  2000.80.922.0     180,792  Sqlmap70.dll     
   03-Sep-2003  00:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  21:03  2000.80.857.0     479,232  Sqlmmc.rll
   21-Oct-2003  22:08  2000.80.871.0     401,984  Sqlqry.dll       
   30-Jan-2004  14:29  2000.80.911.0      57,920  Sqlrepss.dll     
   13-Apr-2004  17:31  2000.80.933.0   7,626,833  Sqlservr.exe     
   30-Jan-2004  14:29  2000.80.911.0     590,396  Sqlsort.dll      
   30-Jan-2004  14:29  2000.80.911.0      45,644  Sqlvdi.dll       
   30-Jan-2004  14:29  2000.80.911.0     106,588  Sqsrvres.dll     
   30-Jan-2004  14:29  2000.80.911.0      33,340  Ssmslpcn.dll     
   30-Jan-2004  14:29  2000.80.911.0      82,492  Ssnetlib.dll     
   30-Jan-2004  14:29  2000.80.911.0      25,148  Ssnmpn70.dll     
   28-Oct-2003  02:21  2000.80.873.0     123,456  Stardds.dll      
   30-Jan-2004  14:29  2000.80.911.0     158,240  Svrnetcn.dll     
   30-Jan-2004  14:29  2000.80.911.0      76,416  Svrnetcn.exe     
   30-Apr-2003  21:52  2000.80.816.0      45,132  Ums.dll          
   30-Jan-2004  14:29  2000.80.911.0      98,872  Xpweb70.dll      

附註 由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

套用此 Hotfix 之後,您必須啟用追蹤旗標 9052 的修正程式才會生效。要這麼做,請您執行下列步驟:
  1. 啟動 SQL Server 企業管理員。
  2. SQL Server 執行個體上按一下滑鼠右鍵,然後按一下 [內容]。
  3. 按一下 [一般] 索引標籤,然後按一下 [啟動參數
  4. 在 [啟動參數] 對話方塊輸入 -T9052 在 [參數] 方塊。
  5. 按一下 [新增],然後再按一下 [確定]
  6. SQL Server 屬性] 對話方塊中,按一下 [確定]
  7. 重新啟動 SQL Server。
附註您也以動態方式可以執行 dbcc traceon(9052,-1) 命令來啟用追蹤旗標。如果您在執行這個命令您沒有重新啟動 SQL Server。 但是,您必須執行這項指令每次您重新啟動 SQL Server。

屬性

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