SQL Server 2005與2000之間的數據轉換

2005不管是性能仍是安全性都是SQL SERVER2000有所加強,現有很多企業在使用2005,或是有的用戶是20002005同時使用,那麼這中間就涉及到雙數據的轉換問題:
今天咱們就來看一下相關的實現方法:
本人的實現環境介紹:
 
方法一: 使用分離與附加   該方法適合於將SQL Server 2000中的數據轉換到SQL Server2005 ,但反之不行。
 例如:如今將SQL SERVER2000中的DUFEI數據庫經過分離與附加的方法導入到SQL  SERVER 2005中:
步驟1 2000機器上運行:
         USE master;GO
EXEC sp_detach_db @dbname = N'dufei';GO
步驟2:將分離再來的MDFLDF文件複製到 2005機器上:
步驟3:在2005機器上執行如下命令:將複製的文件附加到數據庫中便可:
USE master;Go
EXEC sp_attach_db @dbname = N'dufei',
   @filename1 = N'c:\dufei_data.mdf',
   @filename2 = N'c:\dufei_log.ldf'; GO
此時:導入成功!
 
方法二:利用備份與還原:
實例:現將2000中的DB1數據庫備份後,利用還原的方法導入到2005中:
步驟1:在SQL2000中執行:
      backup database DB1 to disk='c:\DB1.BAK'
步驟 2 :將備份文件複製到 SQL 2005 的機器上:將生成的DB1 .BAK 複製到對方機器上:
步驟 3 SQL 2005 的機器上執行:
      restore database db1 from disk='c:\db1.bak'  
由於路徑問題,因此默認狀況下不會成功:也就是說若是使用RESTORE的默認語法,是不行的:
所以,咱們要對路徑進行修改:

RESTORE DATABASE db1 FROM  DISK = 'C:\db1.bak' WITH  FILE = 1,  MOVE N'db1_Data' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\db1.MDF',  MOVE N'db1_Log' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\db1_1.LDF'
則還原成功!
 
  但若是是將 2005 中的數據使用此方法導到 2000 則會報錯:
爲備份或還原操做指定的設備太多;只容許指定 64 個設備。
服務器 : 消息 3013 ,級別 16 ,狀態 1 ,行 1
RESTORE DATABASE 操做異常終止。
 
因此兩種方法都不能實現將 SQL SERVER 2005 的數據導到 SQL SERVER 2000 中,除非使用下面的兩種方法:
 
方法三:導入導出:
           實例:將 2005 中的數據庫 DUFEI 導出到 SQL 2000
步驟 1
成功!
反之從 SQL2000 導到 SQL 2005 也是同樣的:例如將 PUBS 導到 2005
 
 
方法四:使用腳本: 但我我的不推薦使用此方法,由於在此過程當中依然要使用數據的導入 / 導出來轉換數據,也就是說使用腳本不能讓記錄也一塊兒導入到對方的數據庫中,仍然要藉助其餘方法!若是數據庫中對象較多,如觸發器,存儲過程等,能夠考慮使用腳本和數據的導入\導出相結合.
這只是我我的的感受,不知道對否,還望你們多批評指正!
相關文章
相關標籤/搜索