2008-11-24 67 views
6

我有一個相當大(很多千兆字節)的SQL Server數據表,我希望移動到同一臺服務器上的另一個數據庫中的表。在SQL Server表之間高效地移動大量數據集?

這些表格是相同的佈局。

要做到這一點,最有效的方法是什麼?

這是一次性操作,因此不需要自動化。

非常感謝。

回答

6

如果是一次性操作,爲什麼關心頂部效率如此之高?

SELECT * INTO OtherDatabase..NewTable FROM ThisDatabase..OldTable 

INSERT OtherDatabase..NewTable 
SELECT * FROM ThisDatabase..OldTable 

...並讓它運行過夜。我敢說,在同一臺服務器上使用SELECT/INSERT INTO與您所能獲得的最佳效率相差不遠。

+1

您提出了一個有效的觀點。我想我只是被編程得太過「正確的方式」。查詢在我鍵入時運行! – Martin 2008-11-24 15:18:26

2

或者您可以使用Microsoft SQL Server Management Studio中「管理」下的「SQL導入和導出嚮導」。

2

我會和Tomalak的回答一起去的。

您可能需要暫時把你的目標數據庫到大容量日誌恢復模式下執行之前,「選擇進入」停止日誌文件的爆炸......

1

如果它是SQL Server 7或2000看看數據轉換服務(DTS)。對於SQL 2005和2008,請查看SQL Server Integration Services(SSIS)

1

絕對將目標數據庫放入批量記錄模式。這將最低限度地記錄操作並加快速度。