2010-03-12 93 views
3

我有兩個數據庫說DB_A和DB_B。在DB_A數據庫中,具有巨大數據的表(少數表有2至1000萬個數據)。我想將所有表數據從DB_A移動到DB_B數據庫。請幫助我編寫存儲過程,以便將數據從一個數據庫高效(快速)轉移到另一個數據庫。在SQL Server中將龐大的表數據從一個數據庫複製到另一個數據庫

+0

Whocj版本的SQL Server? – MartW 2010-03-12 10:29:13

+0

複製爲主題標題或移動? – 2010-03-12 10:30:43

+0

您在移動數據時需要將數據庫在線嗎? – pedromarce 2010-03-12 10:54:28

回答

2

問題是如何處理您的事務日誌。它必須寫入兩者,但你應該分塊處理。

所以......嘗試是這樣的:

While exists (select * from db1.dbo.tablename) 
Begin 
Delete top 100 from db1.dbo.tablename 
Output deleted.* into dbo.tablename; 

Checkpoint; 
End 
+0

(並且擁有簡單恢復模型中的數據庫) – 2010-03-12 10:25:57

+0

當然你可以遠遠高於100。選擇你喜歡的東西(關於日誌大小) – 2010-03-12 10:27:18

0

無需推倒重來,你有沒有考慮爲移動數據庫的數據使用SQL Server Replication

例如,使用事務複製可以定義希望複製/複製的數據庫表的發佈。

然後,您可以使用快照在臨時基礎上同步數據,或者如果您希望以「接近實時」的方式保持數據最新,那麼您可以使用連續複製。

相關問題