2010-10-05 40 views
1

有誰知道推薦的方法是使用DTS將數據從一個表複製到另一個表嗎?我們是否應該在兩個連接之間使用標準的插入/選擇語句或DTS轉換?哪一個更快?有沒有人對此進行過任何性能測試?DTS轉換vs選擇/插入t

我使用SQL Server 2000中的權利,但也想知道性能如何在SQL2005 +

+0

您正在複製到EMPTY表嗎?你還在SQL Server 2000上嗎? – JNK 2010-10-05 14:46:23

+0

是的,我做了一個空表。 – vikasde 2010-10-05 14:47:17

+0

你使用的是什麼版本的SQL服務器? – JNK 2010-10-05 14:48:18

回答

1

如果你升級到SQL 2005,你就必須重寫任何DTS包。它們已被棄用,以支持SQL Server Integration Services。

所以我會去直接的SQL,或者也許是bcp實用程序。

+0

是否比dts轉換或bcp實用程序更快? – vikasde 2010-10-05 15:06:56

+0

可以避免重寫,因爲您可以在2005+上運行DTS並使用後向兼容性組件 – 2010-10-05 15:09:02

+0

我不太擔心重寫 - 即使必須這樣做,它也沒什麼大不了的。但現在我想選擇最快的方法。 – vikasde 2010-10-05 15:10:09

0

我不會用DTS完成這個任務,只需使用T-SQL

  1. 刪除目標表
  2. 使用SELECT INTO將數據從服務器1複製到服務器2
  3. 上創建索引目標表

如果目標表的模式與源不完全相同,則可以操縱SELECT語句以獲得它所需的方式。

由於您使用的是SQL 2000,因此無法利用INSERT和TABLOCK在不刪除表的情況下獲得批量操作。