将数据从一个服务器插入到另一个服

soo*_*ise 7 sql sql-server linked-server

如果我想在SQL Server中运行此类查询,如何从一个连接到另一个服务器的服务器执行相同的查询?

我尝试添加"[ServerName1]." 在"[DatabaseName1].[dbo] ..."和"[ServerName2]."之前.在"[DatabaseName2].[dbo] ..."之前,但这似乎不起作用.

INSERT INTO [DatabaseName1].[dbo].[TableName]
           ([FieldName])
     SELECT [FieldName] FROM [DatabaseName2].[dbo].[TableName]
Run Code Online (Sandbox Code Playgroud)

这可能吗?

HLG*_*GEM 10

是的,您将在整个对象名称之前使用server-name,如:

myserver.mydatabase.dbo.mytable
Run Code Online (Sandbox Code Playgroud)

但是,您首先必须设置链接服务器.在BOL中查找链接的服务器.


Mar*_*ith 8

如果您启用了adhoc分布式查询,则可以使用OPENDATASOURCE.设置链接服务器是另一种选择.不确定每种方法的优缺点.

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