2014-01-27 56 views
1

我們需要從一個數據庫提取54M行到另一個。兩個表的列是相似的,但不完全相同,因此有一些轉換工作要做。我已經開始了一個遊標,但有沒有更好的方法來插入大塊數據?SQL Server 2008:什麼是插入大塊數據的最佳方式?

+2

這是一個重複的任務或只做過一次? – xsl

+0

閱讀[數據加載性能指南](http://technet.microsoft.com/en-us/library/dd425070(v = sql.100).aspx) –

+0

此過程將只執行一次。 –

回答

1

性能和記錄方式,移動大量數據的最佳選項是SSIS或其他批量操作,如BCP export/import

+0

表中的列和數據的含義在兩個數據庫中都不相同,所以在我們的例子中bcp不是一個選項。 –

+0

在這兩種情況下,SSIS或BCP都可以定義查詢來手動導出或導入數據。顯然,我們不知道如何處理數據的複雜性,但它應該都是可行的。您可以將常規TSQL與任何子查詢,CASE表達式等一起放入您導出數據或導入數據時,形成此處所需的最終結果。 – Kahn

+0

感謝您的回覆,您有任何樣品嗎? –

1

至於性能,我建議你可以做以下 1)創建一個存儲過程做任務 - 您可以使用SSIS 2調用存儲過程)必要時,添加SQL代理作業。

相關問題