2011-05-23 79 views
2

在服務器A(數據的來源)我沒有得到充分的權利,因爲它是託管共享服務器。 即我不能DUMP數據。SQLServer T-SQL prodecure將表從服務器1 DB「A」複製到服務器2 DB「B」

我可以在SQLServer管理器中完成這項工作,一次創建一個表,使用一端的linkedServer和另一端的本地服務器,並提供每個列的名稱...... Phew!艱苦的工作!

順便說一下,許多表都有Identity主鍵。

我想什麼(理想),是將採取的參數幾個像一堆鏈接服務器的名稱的T-SQL過程中,原來的表名和:

1 - 創建目標表

2 - 將數據複製

當然它要我在正確的順序給予應有的尊重外鍵做到這一點。

+0

您是否嘗試過在SSMS中使用CopyDatabase? - 您可以在嚮導的末尾生成腳本。 – 2011-05-23 13:00:25

+0

這將可能使用動態SQL和查詢sys.columns,sys.objects等來獲取各種字段類型。然而,這不是一件容易的事,我懷疑這裏有人會爲你寫信。你仍然需要一個鏈接的服務器。 – 2011-05-23 13:00:43

+0

你不能得到數據庫的備份?從託管數據庫的那個?然後你可以在你的本地環境中恢復它。 – Johan 2011-05-23 14:26:25

回答

1

在編寫任何代碼來管理此問題之前,您應該查看可能滿足您需求的第三方工具。作爲一個例子,紅門軟件提供了幾個實用程序,您可以使用copy the structure of a databasethen merge the data。我相信您的所有要求都可以通過兩個RG應用程序來滿足。現在,紅門不是免費的,但有完整的試用許可證。那裏也可能有免費/開源的工具。

相關問題