SQL Server 計算機間移動數(shù)據(jù)庫
注意:支持將數(shù)據(jù)從SQL Server 2000遷移到Microsoft SQL Server 2000(64位)。您可以將一個32位數(shù)據(jù)庫附加到一個64位數(shù)據(jù)庫上,方法是:使用sp_attach_db系統(tǒng)存儲過程或sp_attach_single_file_db系統(tǒng)存儲過程,或者使用32位企業(yè)管理器中的備份和還原功能。您可以在SQL Server的32位和64位兩種版本之間來回移動數(shù)據(jù)庫。您還可以使用同樣的方法從SQL Server 7.0遷移數(shù)據(jù)。但是,不支持將數(shù)據(jù)從SQL Server 2000(64位)降級到SQL Server 7.0。下面分別介紹這幾種方法。
如果您使用的是SQL Server 2005
您可以使用相同的方法從SQL Server 7.0或SQL Server 2000遷移數(shù)據(jù)。但是,Microsoft SQL Server 2005中的管理工具與SQL Server 7.0或SQL Server 2000中的管理工具有所不同。您應(yīng)該使用SQL Server Management Studio(而不是SQL Server企業(yè)管理器)以及SQL Server導(dǎo)入和導(dǎo)出向?qū)?DTSWizard.exe)(而不是數(shù)據(jù)轉(zhuǎn)換服務(wù)導(dǎo)入和導(dǎo)出數(shù)據(jù)向?qū)В?/div>
備份和還原
在源服務(wù)器上備份用戶數(shù)據(jù)庫,然后將用戶數(shù)據(jù)庫還原到目標服務(wù)器上。在備份過程中時可能有人使用數(shù)據(jù)庫。如果用戶在備份完成后對數(shù)據(jù)庫執(zhí)行INSERT、UPDATE或DELETE語句,則備份中不會包含這些更改。如果您必須傳輸所有更改,那么,假如您既執(zhí)行事務(wù)日志備份又執(zhí)行完整數(shù)據(jù)庫備份,您可以以盡可能短的停止時間來傳輸這些更改。
1.在目標服務(wù)器上還原完整數(shù)據(jù)庫備份,并指定WITH NORECOVERY選項。
注意:為防止對數(shù)據(jù)庫做進一步的修改,請指導(dǎo)用戶在源服務(wù)器上退出數(shù)據(jù)庫活動。
2.執(zhí)行事務(wù)日志備份,然后使用WITH RECOVERY選項將事務(wù)日志備份還原到目標服務(wù)器上。停止時間僅限于事務(wù)日志備份和恢復(fù)的時間。
◆目標服務(wù)器上的數(shù)據(jù)庫將與源服務(wù)器上的數(shù)據(jù)庫大小相同。要減小數(shù)據(jù)庫的大小,您必須在執(zhí)行備份前壓縮源數(shù)據(jù)庫的大小,或者在完成還原后壓縮目標數(shù)據(jù)庫的大小。
◆如果您將數(shù)據(jù)庫還原到的文件位置不同于源數(shù)據(jù)庫的文件位置,則必須指定WITH MOVE選項。例如,在源服務(wù)器上,數(shù)據(jù)庫位于D:/Mssql/Data文件夾中。目標服務(wù)器沒有D驅(qū)動器,因而您需要將數(shù)據(jù)庫還原到C:/Mssql/Data文件夾。有關(guān)如何將數(shù)據(jù)庫還原到其他位置的更多信息,請查看相關(guān)資料。
◆如果您想覆蓋目標服務(wù)器上的一個現(xiàn)有數(shù)據(jù)庫,則必須指定WITH REPLACE選項。
◆源服務(wù)器和目標服務(wù)器上的字符集、排序順序和Unicode整序可能必須相同,具體取決于您要還原到SQL Server的哪種版本。有關(guān)更多信息,請參閱本文中的“關(guān)于排序規(guī)則的說明”一節(jié)。
Sp_detach_db和Sp_attach_db存儲過程
要使用sp_detach_db和sp_attach_db這兩個存儲過程,請按下列步驟操作:
1.使用sp_detach_db存儲過程分離源服務(wù)器上的數(shù)據(jù)庫。您必須將與數(shù)據(jù)庫關(guān)聯(lián)的.mdf、.ndf和.ldf這三個文件復(fù)制到目標服務(wù)器上。參見下表中對文件類型的描述:
文件擴展名
說明
.mdf
主要數(shù)據(jù)文件
.ndf
輔助數(shù)據(jù)文件
.ldf
事務(wù)日志文件
2.使用sp_attach_db存儲過程將數(shù)據(jù)庫附加到目標服務(wù)器上,并指向您在上一步驟中復(fù)制到目標服務(wù)器的文件。
◆分離數(shù)據(jù)庫后將無法訪問該數(shù)據(jù)庫,并且復(fù)制文件時也無法使用該數(shù)據(jù)庫。在進行分離的那一時刻數(shù)據(jù)庫中包含的所有數(shù)據(jù)都被移動。
◆在您使用附加或分離方法時,兩個服務(wù)器上的字符集、排序順序和Unicode整序都必須相同。有關(guān)更多信息,請參閱本文中的“關(guān)于排序規(guī)則的說明”一節(jié)。