海南世紀雲圖網絡科技有限公司
咨詢熱(rè)線:400-822-8458 客戶服務:0898-32183600

SQL Server 導入/導出 錯誤排查

發表于:2011-11-02 00:00:00來(lái)源:SOUAB.COM人(rén)氣:3555

如(rú)果提示導入失敗,出現圖14情況,這時不要急着點"完成"關閉窗(chuāng)口。雙擊中間的"出現錯誤"會出現詳細的失敗原因。

圖14:
點擊查看(kàn)原圖

錯誤原因一、沒安裝SP3補丁

如(rú)果是出現如(rú)圖15的報錯原因,那麽就(jiù)很有可(kě)能是因爲您本機(jī)的SQL Server還(hái)沒有打SP3補丁。

圖15:
點擊查看(kàn)原圖

如(rú)何查看(kàn)是否已打了SP3補丁呢(ne)?右鍵點擊本地SQL Server屬性,彈出圖16窗(chuāng)口,查看(kàn)"産品版本"一行。
像以下圖顯示8.00.760(SP3)說(shuō)明已經打過補丁。如(rú)果您的企業管理(lǐ)器顯示的版本要比這個小,那就(jiù)是沒打SP3補丁。
請(qǐng)安裝SQL Server SP3補丁後再重試。

圖16:
點擊查看(kàn)原圖

錯誤原因二、對象屬性沖突

如(rú)果出現圖17情況,那麽應該就(jiù)是您本地數據庫的表/視圖/存儲過程的屬主和服務器上數據庫默認用戶不一緻。
服務器的用戶一般是:數據庫名+'_f',如(rú)我的數據庫名稱是testdb,則我在服務器上使用的數據庫用戶名就(jiù)是testdb_f。
如(rú)圖18,我本地的表屬主是testuser,與服務器數據庫用戶名不一緻,因此導入過程出錯。

圖17:
點擊查看(kàn)原圖

圖18:
點擊查看(kàn)原圖

解決方法是:
應該先把本地的所有表/視圖/存儲過程屬主都(dōu)改爲dbo或testdb_f(後者需要在本地創建起相(xiàng)應用戶。
建議(yì)創建,否則以後想從(cóng)服務器上導出數據時同樣會因爲這個問(wèn)題導出錯誤),再重新進行導入/導出。

打開SQL查詢分(fēn)析器,運行以下命令進行批量修改表屬主爲dbo:

SQL代碼
  1. exec sp_MSForEachTable 'sp_changeobjectowner "?", "dbo"'   

運行成功後表屬主會改變成如(rú)圖19:

圖19:
點擊查看(kàn)原圖

如(rú)果需要修改視圖/存儲過程,則麻煩了點。
下面有個方法可(kě)以實現:

一、先在master創建一個sp_MSforeachObject存儲過程,命令如(rú)下:

SQL代碼
  1. USE MASTER   
  2.   
  3. GO   
  4.   
  5. CREATE proc sp_MSforeachObject   
  6.   
  7. @objectType int=1,   
  8.   
  9. @command1 nvarchar(2000),    
  10.   
  11. @replacechar nchar(1) = N'?',    
  12.   
  13. @command2 nvarchar(2000) = null,   
  14.   
  15.     @command3 nvarchar(2000) = null,    
  16.   
  17. @whereand nvarchar(2000) = null,   
  18.   
  19. @precommand nvarchar(2000) = null,    
  20.   
  21. @postcommand nvarchar(2000) = null  
  22.   
  23. as  
  24.   
  25. /* This proc returns one or more rows for each table (optionally, matching @where), with each table defaulting to its    
  26.   
  27. own result set */   
  28.   
  29. /* @precommand and @postcommand may be used to force a single result set via a temp table. */   
  30.   
  31. /* Preprocessor won't replace within quotes so have to use str(). */  
  32.  
  33. declare @mscat nvarchar(12)  
  34.  
  35. select @mscat = ltrim(str(convert(int, 0x0002)))  
  36.  
  37. if (@precommand is not null)  
  38.  
  39.   exec(@precommand)  
  40.  
  41. /* Defined  @isobject for save object type */  
  42.  <

文章(zhāng)整理(lǐ): 世紀雲圖  /

以上信息與文章(zhāng)正文是不可(kě)分(fēn)割的一部分(fēn),如(rú)果您要轉載本文章(zhāng),請(qǐng)保留以上信息,謝謝!

版權申明:本站(zhàn)文章(zhāng)部份來(lái)自(zì)網絡,如(rú)有侵權,請(qǐng)聯系我們,我們收到後立即删除,謝謝!

特别注意:本站(zhàn)部份轉載文章(zhāng)言論不代表本站(zhàn)觀點,本站(zhàn)所提供的攝影(yǐng)照(zhào)片,插畫(huà),設計(jì)作(zuò)品,如(rú)需使用,請(qǐng)與原作(zuò)者聯系,版權歸原作(zuò)者所有。

微信
網站(zhàn)建設
軟件(jiàn)業務
網絡營銷
400電話(huà)