2014-02-24 57 views
0

我有兩個sql server,SE1和SE2,它們基本上具有相同的架構,但每個都有自己的可用性。 我需要找到一個查詢來從SE1.Table1複製一些行Where Destination像'%HR%'到SE2.Table2。 有沒有這樣的查詢? Thx提前。將查詢從sql server複製到另一個sql server

+0

檢查http://ask.sqlservercentral.com/questions/28851/how-i-can-copy-records-from-one-server-to-other-se.html – MusicLovingIndianGirl

+0

http://stackoverflow.com/ question/603502/copy-table-to-a-different-database-on-a-different-sql-server – Hamidreza

回答

1

我發現最簡單的方法是從一個到另一個添加遠程連接。所以,去到第二個服務器,並做到:

sp_addlinkedserver SE1 

然後你可以去你想使用,做一些如數據庫:

insert into database.dbo.Table1(<column list>) 
    select <column list> 
    from SE1.database.dbo.Table1 
    where col like '%HR%'; 

它使用四部分命名約定訪問刪除表。

+0

我試過這個方法,但似乎有什麼問題。當我執行 選擇 * FROM [SE1] [DB1] [DBO] [表1] WHERE山口LIKE '%HR%' 我得到以下錯誤:。 無法在sys找不到服務器 'SE1' .servers。驗證是否指定了正確的服務器名稱。如有必要,請執行存儲過程sp_addlinkedserver以將服務器添加到sys.servers。 儘管我使用了sp_helpserver,並且我找到了列出的名稱! – Saleem

+0

您應該在dba.stackexchange.com上發佈此問題,並提供有關您的配置和評論中的信息的更多詳細信息。我會投票轉移這個問題,但它缺乏很多信息,所以不會很好收到。 –

+0

好的非常感謝:) – Saleem

1
SELECT * into tr FROM OPENROWSET('SQLOLEDB', 
       'Server=10.10.1.89\SQLEXPRESSR2;UID=sa;PWD=password',     
       'SET FMTONLY OFF;SET NOCOUNT ON; exec DBASE89.dbo.Getdata @UID=''21''' 
      ) 

SELECT * FROM TR

考慮10.10.1.89 \ SQLEXPRESSR2遠程服務器,我們需要與所需的數據選擇命令來創建存儲過程。 這裏tr是Temp表,當執行上面的查詢時,結果將存儲在tr表中。從這個tr表我們可以複製到本地服務器中的所需表。

注意: 在10.10.1.89 \ SQLEXPRESSR2服務器中,需要在SurfaceAreaConfiguration中啓用OleAutomationEnabled設置爲True。

相關問題