FIX: SQL Server 可能產生不正確資料表條件約束的 SQL 指令碼當您使用 [產生 SQL 指令碼 」 選項在企業管理員

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

在此頁中

徵狀

當想藉由使用企業管理員產生一個資料表的 SQL 指令碼可能會不正確地產生主索引鍵條件約束。

解決方案

服務套件資訊

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

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     
   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     
   22-May-2003  22:57                     19,195   Qfe469571.sql
   12-Jun-2003  16:37                  1,083,989   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      
   05-May-2003  00:05                  1,085,874   Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096   Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032   Semobj.rll
   29-May-2003  00:29                    115,944   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     
   23-Jun-2003  22:40  2000.80.837.0   7,553,105   Sqlservr.exe     
   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          
   02-Jul-2003  00:19  2000.80.834.0      98,816   Xpweb70.dll      
				
注意 由於檔案相依性、 最新 Hotfix 或包含檔案的功能的可能也包含其他檔案。

其他相關資訊

之所以發生這個問題,是因為 sp_MStablekeys 系統預存程序有時會傳回以邏輯方式不正確的結果。 因為您是使用 sp_MStablekeys 出表格以及其條件約束的指令碼,您最後產生不正確的指令碼的資料表條件約束。

基於這個理由,您可以就遇到這個問題在其他案例中使用這個系統預存程序。比方說,您可能會遇到複寫此問題。複寫使用 sp_MStablekeys 預存程序,以出標記為複寫發行者) 上若要在訂閱者上建立這些資料表的資料表的指令碼。當 「 散發代理程式 」 會嘗試根據產生的指令碼從發行者的訂閱者上建立主索引鍵時,它將會失敗,並且您會收到這個錯誤訊息:
無法使用空的物件或資料行名稱

狀況說明

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

屬性

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