如何使用合并的链接服务器(How to use merge on linked servers)

2019-09-02 02:53发布

是否有可能使用的链接服务器MERGE语句? 如果是的话怎么样?

我曾尝试以下,但它会产生一个错误信息

一个MERGE语句的目标不能是远程表,远程视图,或在远程表的图。

EXEC sp_addlinkedserver
@server=N'devServer',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'192.168.2.58\SQLSERVER';

EXEC sp_addlinkedserver
@server=N'localServer',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'localhost\SQLSERVER';

Merge devServer.<dbName>.dbo.<tableName> as Target
USING localServer.<dbName>.dbo.<tableName> as Source
On (Source.HubID = Target.HubID)
When Matched then
    update set
        NAME = Source.NAME,
        CODE = Source.CODE,
        IPAddress = Source.IPAddress
When Not Matched Then
    Insert(, , ,)
    Values (, , ,);

    select * from sys.Servers

Answer 1:

这是不支持在Microsoft SQL Server 2008从MSDN文档 ,

不能是远程表。

你可以阅读更多关于它在这里 。



文章来源: How to use merge on linked servers