簡體   English   中英

將數據從一台服務器插入到另一台服務器?

[英]Insert Data From One Server To Another?

如果我想在 SQL Server 中運行此類查詢,如何從我連接到另一台服務器的服務器執行相同的查詢?

我嘗試添加“[ServerName1]”。 在“[DatabaseName1].[dbo]...”和“[ServerName2]”之前。 在“[DatabaseName2].[dbo]...”之前,但這似乎不起作用。

INSERT INTO [DatabaseName1].[dbo].[TableName]
           ([FieldName])
     SELECT [FieldName] FROM [DatabaseName2].[dbo].[TableName]

這可能嗎?

是的,您會在整個對象名稱的其余部分之前使用服務器名稱,例如:

myserver.mydatabase.dbo.mytable

但是,您首先必須設置鏈接服務器。 在 BOL 中查找鏈接服務器。

如果您啟用了即席分布式查詢,則可以使用OPENDATASOURCE 設置鏈接服務器是另一種選擇。 不確定每種方法的優缺點。

INSERT INTO [DatabaseName1].[dbo].[TableName]
SELECT FieldName
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=Server\InstanceName;Integrated Security=SSPI')
    .DatabaseName2.dbo.TableName

最好的方法是在兩者之間創建一個“鏈接服務器”。 您將需要適當的權限才能執行此操作。

那么這只是使用您的鏈接服務器名稱訪問數據庫的問題。

例如: [linkedserver].databasename.dbo.tablename

要創建鏈接服務器,請轉到服務器對象-> 右鍵單擊​​鏈接服務器-> 單擊“新鏈接服務器”。

在 SSMS 中,轉到查詢 -> 'SQLCMD 模式'

DECLARE @VERSION VARCHAR(1000)
:CONNECT Soruce_Server_Name
SELECT @@VERSION AS [SQL_VERSION]
INTO 
:CONNECT Destination_Server_Name
[MSSQLTips].[dbo].[TEST]

現在在目標服務器上,執行您的選擇命令來檢查您的輸出。 例如

SELECT * FROM [CloverInfotech_DB].[dbo].[TEST]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM