程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> SqlServer2005 >> SQL Server 2005與sql 2000之間的數據轉換方法

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

編輯:SqlServer2005

2005不論是性能還是安全性都是SQL SERVER2000有所增強,現有不少企業在使用2005,或是有的用戶是2000與2005同時使用,那麼這中間就涉及到雙數據的轉換問題:

今天我們就來看一下相關的實現方法:

本人的實現環境介紹:

方法一: 使用分離與附加 該方法適合於將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:將分離再來的MDF及LDF文件復制到 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中

方法四:使用腳本: 但我個人不推薦使用此方法,因為在此過程中依然要使用數據的導入/導出來轉換數據,也就是說使用腳本不能讓記錄也一起導入到對方的數據庫中,仍然要借助其他方法!如果數據庫中對象較多,如觸發器,存儲過程等,可以考慮使用腳本和數據的導入\導出相結合.

這只是我個人的感覺,不知道對否,還望大家多批評指正!

本文出自 “杜飛” 博客

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved