本文分步介紹了如何在運行SQL Server的電腦之間移動Microsoft SQL Server使用者資料庫和大多數常見的SQL Server組件。本文中介紹的步驟假定您不移動master、model、tempdb或msdb這些系統資料庫。這些步驟為您傳輸登入以及master和msdb資料庫中包含的大多數常見組件提供了多個選項。
注意:支援將資料從SQL Server 2000遷移到Microsoft SQL Server 2000(64位)。您可以將一個32位元據庫附加到一個64位元據庫上,方法是:使用sp_attach_db系統預存程序或sp_attach_single_file_db系統預存程序,或者使用32位企業管理器中的備份與還原功能。您可以在SQL Server的32位和64位兩種版本之間來回移動資料庫。您還可以使用同樣的方法從SQL Server 7.0遷移資料。但是,不支援將資料從SQL Server 2000(64位)降級到SQL Server 7.0。下面分別介紹這幾種方法。
如果您使用的是SQL Server 2005
您可以使用相同的方法從SQL Server 7.0或SQL Server 2000遷移資料。但是,Microsoft SQL Server 2005中的管理工具與SQL Server 7.0或SQL Server 2000中的管理工具有所不同。您應該使用SQL Server Management Studio(而不是SQL Server企業管理器)以及SQL Server匯入和匯出嚮導(DTSWizard.exe)(而不是資料轉換服務匯入和匯出資料嚮導)。
備份與還原
在原始伺服器上備份使用者資料庫,然後將使用者資料庫還原到目標伺服器上。在備份過程中時可能有人使用資料庫。如果使用者在備份完成後對資料庫執行INSERT、UPDATE或DELETE語句,則備份中不會包含這些更改。如果您必須傳輸所有更改,那麼,假如您既執行交易記錄備份又執行完整Database Backup,您可以以儘可能短的停止時間來傳輸這些更改。
1.在目標伺服器上還原完整Database Backup,並指定WITH NORECOVERY選項。
注意:為防止對資料庫做進一步的修改,請指導使用者在原始伺服器上退出資料庫活動。
2.執行交易記錄備份,然後使用WITH RECOVERY選項將交易記錄備份還原到目標伺服器上。停止時間僅限於交易記錄備份和恢複的時間。
◆目標伺服器上的資料庫將與原始伺服器上的資料庫大小相同。要減小資料庫的大小,您必須在執行備份前壓縮來源資料庫的大小,或者在完成還原後壓縮目標資料庫的大小。
◆如果您將資料庫還原到的檔案位置不同於來源資料庫的檔案位置,則必須指定WITH MOVE選項。例如,在原始伺服器上,資料庫位於D:\Mssql\Data檔案夾中。目標伺服器沒有D磁碟機,因而您需要將資料庫還原到C:\Mssql\Data檔案夾。有關如何將資料庫還原到其他位置的更多資訊,請查看相關資料。
◆如果您想覆蓋目標伺服器上的一個現有資料庫,則必須指定WITH REPLACE選項。
◆原始伺服器和目標伺服器上的字元集、排序次序和Unicode整序可能必須相同,具體取決於您要還原到SQL Server的哪種版本。有關更多資訊,請參閱本文中的“關於定序的說明”一節。