程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 運行SQL Server的計算機間移動數據庫

運行SQL Server的計算機間移動數據庫

編輯:關於SqlServer

本文分步介紹了如何在運行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語句,則備份中不會包含這些更改。如果您必須傳輸所有更改,那麼,假如您既執行事務日志備份又執行完整數據庫備份,您可以以盡可能短的停止時間來傳輸這些更改。

1.在目標服務器上還原完整數據庫備份,並指定WITH NORECOVERY選項。

注意:為防止對數據庫做進一步的修改,請指導用戶在源服務器上退出數據庫活動。

2.執行事務日志備份,然後使用WITH RECOVERY選項將事務日志備份還原到目標服務器上。停止時間僅限於事務日志備份和恢復的時間。

◆目標服務器上的數據庫將與源服務器上的數據庫大小相同。要減小數據庫的大小,您必須在執行備份前壓縮源數據庫的大小,或者在完成還原後壓縮目標數據庫的大小。

◆如果您將數據庫還原到的文件位置不同於源數據庫的文件位置,則必須指定WITH MOVE選項。例如,在源服務器上,數據庫位於D:\Mssql\Data文件夾中。目標服務器沒有D驅動器,因而您需要將數據庫還原到C:\Mssql\Data文件夾。有關如何將數據庫還原到其他位置的更多信息,請查看相關資料。

◆如果您想覆蓋目標服務器上的一個現有數據庫,則必須指定WITH REPLACE選項。

◆源服務器和目標服務器上的字符集、排序順序和Unicode整序可能必須相同,具體取決於您要還原到SQL Server的哪種版本。有關更多信息,請參閱本文中的“關於排序規則的說明”一節。

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