2009-07-02 176 views
2

我有一個SQL Server 2005數據庫中的大表,我想將它複製到另一個數據庫。將一個大型(30,000行)表從一個數據庫複製到另一個數據庫的最快方法?

這樣做的最快方法是什麼?有連接服務器和插入的捷徑嗎?

+6

30k行不是一個很大的表。除非您持續不斷地進行此操作,否則只需選擇最簡單的方法即可。不管進口方法如何,它都應在幾分鐘內完成。 – 2009-07-02 20:47:57

+0

截至今天下午,我們的一個外部參照表中包含7800萬條記錄。 – lynks 2012-11-20 17:55:39

回答

3

嘗試一個名爲bcp的命令行實用程序用於批量導出,而批量插入用於導入。

請參閱About Bulk Import and Bulk Export operations

+0

這是最快最可靠的方法嗎? – Zanoni 2009-07-02 20:34:40

+0

老實說,軟件可能至少有六種「快速」方式來做某些事情。這取決於你的優勢。如果一切都失敗了,您可以將表格導出爲CSV並腳本插入。 – Brian 2009-07-02 22:28:45

1

提高速度,禁用所有形式的日誌記錄並刪除任何約束或參照完整性。

0

我認爲最好的選擇是使用導出和導入。

1

我不想在這裏打任何人。但到目前爲止,我沒有找到快速複製表格的方法。 我正在處理一個大項目,我通常會處理3-7百萬行的表格。當我想要退回桌子時,我的頭痛就來了。

截至目前: 1. BCP是絕對最快的工具。但它只能正確處理簡單的數據類型。如果你有nvarchar,並有一些奇怪的字符'&#2。它通常不起作用。由於bcp的高風險工作,我建議你忘記它,但只用於非常簡單的表 它真的是超級快。

  • 別說導出/導入嚮導或命令,這是我採用了最低工具之一。它可能在運輸過程中斷裂。

  • 到目前爲止,最快的方法是分離你的數據庫,用硬盤拷貝(通常是20M/s),即使你的數據佔用6G的磁盤,也只需要300s〜5分鐘,然後附加在另一臺機器上,刪除你不想要的表格如果你使用其他人建議的方法,我向你保證在一小時內不會傳輸數據。

  • 相關問題