2013-10-18 24 views
3

我想從一個表中的一個服務器(Data.Old.S1)轉換成數據在另一個表中的另一服務器(Data.Latest.S2)選擇數據(T1,在DB1)(T2,在DB2)。我怎樣才能做到這一點 ?從一個sql server選擇到另一個?

請注意服務器的命名方式。查詢也應該考慮到這一點。也就是說, SQL服務器不應該混淆完全限定的表名稱。例如 - 這可能會混淆SQL服務器 - Data.Old.S1.DB1.dbo.T1。

我也想要「映射」。 T1的EG Col1中應該去Col18 T2等

+1

你如何讓DB1和DB2彼此通話?鏈接服務器?這可以通過幾種方法完成......最佳選擇取決於您希望訪問舊服務器的頻率(1次遷移或不斷更新)。 – Twelfth

回答

0

你可以看看這個的:

Clicky!

或者你可以使用SSIS,這可能就會簡單得多。

+0

我想要SQL。我有SSIS,但我需要通過SQL做按我的情況 – Steam

+0

怎麼樣選擇T1的Col1中到T2的Col17其中{一些條件} – Steam

1
select * into [newtable] from [linked_server].[databasename].dbo.[tablename] 
+0

有關選擇T1的Col1中到T2的Col17其中{一些條件} – Steam

+0

什麼這通常不正確。 –

+1

@AmirrezaKeshavarz - 什麼是不正確的 – Steam

0

如果只是一次鏈接的服務器適當。 但是如果需要頻繁移動數據,複製會更好,更容易。

0

我認爲你是通過堅持SQL過於複雜了。在SSMS中,右鍵單擊要從中導出的服務器,選擇「任務」,「導出」,然後讓嚮導引導您完成選擇目標服務器和表的步驟,其中包括完全按照您的要求映射所有列正試圖處理你的SQL情況。您似乎正在尋找的所有功能已經在那裏。

沒有必要對鏈接的服務器,SSIS,或其他任何東西來做到這一點。它已經內置到SQL Server Management Studio中。

4

使用SQL Server Management Studio的導入功能。

  1. 右鍵單擊在對象資源管理器數據庫,然後選擇進口
  2. 選擇源數據庫
  3. 選擇目標數據庫
  4. 選擇的選項爲「指定自定義查詢」,只是選擇從T1數據,在DB1
  5. 選擇目的地表在目標數據庫即T2
  6. 執行導入
相關問題