SQL Server數據庫損壞修復--將本數據庫中的數據導出到另外一個新數據庫中


  數據庫損壞一般會使用一下語句修復:

==================================================
--修復數據庫的某個表
--用下面的語句進行修復   
    
  exec sp_dboption   'DatabaseName',   'single user',   'true'   
  Go   
    
  DBCC CHECKTABLE('TableName',repair_allow_data_loss)   
  go   
    
  sp_dboption   'DatabaseName',   'single user',   'false'   
  Go   

-------------------------------------------------

--修復整個數據庫
--用下面的語句進行修復,將DatabaseName改成修復的數據庫名  
    
ALTER DATABASE [DatabaseName] SET SINGLE_USER
GO
DBCC CHECKDB('DatabaseName',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [DatabaseName] SET MULTI_USER
GO


  但上面的方法也不一定都管用,上面的語句有時候執行都不能執行成功,這樣需要嘗試其他方法,比如,將數據導入到一個新建的空白數據庫中。

在這個導數據的過程中就會發現哪個表導不過去,哪個表有問題,可以暫時將這些表取消導入,將能順利導入的導進去。

剩下有問題的表一般在查詢分析器中用語句是打不開的,那怎么辦呢,可以試試先導出到excel表格中,有些時候導入到sql的表中不行,但導入到excel可以,雖然導出的時候也會有錯誤提示,提示導出失敗,但有時打開excel表后發現數據是在里面的,這樣就可以從excel表再導入到那個新數據庫中。

 

如果導出excel也不行怎么辦,那就看能不能在企業管理器中打開這個表,能打開的話全選,復制粘貼到excel中,打不開就沒辦法了。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com