轉移組件分為:轉移數據庫組件和轉移數據庫對象組件,前者把整個數據庫復制或移動到新的SQL Server實例中,后者把數據庫中的對象轉移到新的SQL Server數據庫中。
一,Transfer Database Task
轉移數據庫任務用於在兩個SQL Server實例之間轉移數據庫,可以拷貝或移動數據庫,可以聯機或脫機轉移。改組件的配置選項如下圖所示:

1,轉移的動作:拷貝和移動
在Action列表中,可以選擇Copy和Move,拷貝(Copy)是指把數據庫賦值一個副本,拷貝的結果是存在兩個數據庫,而移動(Move)是指創建新的數據庫,並把舊的數據庫刪除,移動的結果是只有一個數據庫。
2,轉移的方法:聯機和脫機模式
在Method列表中,可以選擇:DatabaseOnline和DatabaseOffline,當使用聯機(Online)模式時,數據庫保持連接狀態,並通過SQL管理對象(SMO)復制數據庫對象來進行數據傳輸。
當使用脫機(Offline)模式時,數據庫處於分離(Detached)狀態,該組件把數據庫文件轉移(賦值或移動)到目標服務器;在數據庫文件轉移到新的服務器之后,把數據庫重新附加(attach)到目標SQL Server實例上。當使用Copy模式時,在復制成功之后,原始數據庫會被重新附加到原始實例上。在脫機模式下,數據庫文件拷貝的速度更快,缺點是脫機模式下無法使用數據庫。
在脫機模式下,需要指定源服務器和目標服務器之間的網絡文件共享(Network File Share),網絡共享文件夾是目標服務器上的共享目錄,數據庫文件會被轉移到改目的下。當在脫機模式下轉移數據庫時,數據庫文件被拷貝到網絡文件共享中。
二,Transfer SQL Server Objects Task
轉移數據庫對象組件用於把一個或多個數據庫對象從一個SQL Server實例轉移到其他SQL Server實例。使用該組件,需要先創建數據庫,然后該組件就會把數據和Table Schema 復制到目標數據庫中。
常用的數據庫對象有:
- Table
- View
- Stored Procedure
- User-defined Function
參考文檔:
Transfer SQL Server Objects Task
