SQL 2000與SQL 2005數(shù)據(jù)庫之間的轉(zhuǎn)換
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
2005不論是性能還是安全性都是SQL SERVER2000有所增強,現(xiàn)有不少企業(yè)在使用2005,或是有的用戶是2000與2005同時使用,那么這中間就涉及到雙數(shù)據(jù)的轉(zhuǎn)換問題:
今天我們就來看一下相關(guān)的實現(xiàn)方法: 本人的實現(xiàn)環(huán)境介紹: 方法一: 使用分離與附加 該方法適合于將SQL Server 2000中的數(shù)據(jù)轉(zhuǎn)換到SQL Server2005 ,但反之不行。 例如:現(xiàn)在將SQL SERVER2000中的DUFEI數(shù)據(jù)庫通過分離與附加的方法導(dǎo)入到SQL SERVER 2005中: 步驟1: 在 2000機器上運行: USE master;GO EXEC sp_detach_db @dbname = N'dufei';GO 步驟2:將分離再來的MDF及LDF文件復(fù)制到 2005機器上: 步驟3:在2005機器上執(zhí)行以下命令:將復(fù)制的文件附加到數(shù)據(jù)庫中即可: USE master;Go EXEC sp_attach_db @dbname = N'dufei', @filename1 = N'c:\dufei_data.mdf', @filename2 = N'c:\dufei_log.ldf'; GO 此時:導(dǎo)入成功! 方法二:利用備份與還原實例:現(xiàn)將2000中的DB1數(shù)據(jù)庫備份后,利用還原的方法導(dǎo)入到2005中: 步驟1:在SQL2000中執(zhí)行: backup database db1 to disk='c:\db1.bak' 步驟2:將備份文件復(fù)制到 SQL 2005的機器上:將生成的DB1.BAK復(fù)制到對方機器上: 步驟3: 在SQL 2005的機器上執(zhí)行: 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中的數(shù)據(jù)使用此方法導(dǎo)到2000則會報錯: 為備份或還原操作指定的設(shè)備太多;只允許指定 64 個設(shè)備。 服務(wù)器: 消息 3013,級別 16,狀態(tài) 1,行 1 RESTORE DATABASE 操作異常終止。 所以兩種方法都不能實現(xiàn)將SQL SERVER 2005的數(shù)據(jù)導(dǎo)到 SQL SERVER 2000中,除非使用下面的兩種方法: 方法三:導(dǎo)入導(dǎo)出: 實例:將 2005中的數(shù)據(jù)庫DUFEI導(dǎo)出到SQL 2000中 步驟1: 成功! 反之從 SQL2000導(dǎo)到SQL 2005也是一樣的:例如將PUBS導(dǎo)到2005中 方法四:使用腳本: 但我個人不推薦使用此方法,因為在此過程中依然要使用數(shù)據(jù)的導(dǎo)入/導(dǎo)出來轉(zhuǎn)換數(shù)據(jù),也就是說使用腳本不能讓記錄也一起導(dǎo)入到對方的數(shù)據(jù)庫中,仍然要借助其他方法!如果數(shù)據(jù)庫中對象較多,如觸發(fā)器,存儲過程等,可以考慮使用腳本和數(shù)據(jù)的導(dǎo)入\導(dǎo)出相結(jié)合. 該文章在 2011/2/27 2:28:04 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |