sqlserver2012怎么链接服务器

sqlserver2012怎么链接服务器,第1张

SQL Server 2012建立链接服务器

Server1:

DB Version: 2012

Server IP: 192.168.120.252

Souce Database

Server2:

DB Version: 2012

Server IP: 192.168.120.210

Target Database

在Server2上执行以下语句

exec sp_addlinkedserver   'sqlserver', '', 'SQLOLEDB', '192.168.120.252'

exec sp_addlinkedsrvlogin  'sqlserver', 'false',null, 'sa', '' 

go

SELECT *   

FROM   

OPENROWSET('SQLOLEDB',   

           'server=192.168.120.252uid=sapwd=XXXXX', --字符串  

           DBName.dbo.TableName)  --直接写表的名称

方法一: 使用linked_server_name.catalog.schema.object_name,例如:

select * from ERP..CRM.INQ

linked_server_name Linked server referencing the OLE DB data source

catalog Catalog in the OLE DB data source that contains the object

schema Schema in the catalog that contains the object

object_name Data object in the schema

SQL Server用linked_server_name取linked server相关配置信息,然后将catalog、schema、object_name作为参数传递给OLEDB。例如远程链接服务器为SQL Server时catalog为数据库实例名,schema为owner id (dbo);链接服务器为Oracle时 (OLEDB),catalog为空,schema为用户

注意点:

a). 远程链接服务器为Oracle时schema、object_name必须大写(其他类型的不清楚),否则会报错

消息 7314,级别 16,状态 1,第 1 行

链接服务器 "ERP" 的 OLE DB 访问接口 "MSDAORA" 不包含表 ""CRM"."INQ""。该表不存在,或者当前用户没有访问该表的权限。

b). 必须使用完整的名称。例如SQL Server本地执行sql,dbo可以省略不写,使用远程链接服务器时则必须提供

方法二:使用openquery,例如:

select *

from openquery(ERP,'select t.* from(select inq.*,rownum as rindex from inq order by img01) t where t.rindex>=51 and t.rindex<=100')

优点:

a). SQL Server只是将openquery中的sql发送给远程服务器执行,因此可以使用远程链接服务器的所有sql语法(例如Oracle语法),sql对象也不必大写

b). 数据类型的异常很少(个别情况下还是会发生)

c). openquery的写法同样可用于update、insert、delete

d). 链接服务器为Oracle时,schema不必出现在sql语句中

关于使用链接服务器方面的一些限制、前提条件,可以参考External Data and Tra

需要变通一下,希望对你有帮助!

--sql-开始--------------

declare @row_limit int

set @row_limit=10

declare @sql NVARCHAR(1000)

set @sql='SELECT top '+cast(@row_limit as NVARCHAR(20))

+' [StoreID],[OrderNumber],[ShipmentID] '

+' FROM [192.168.1.254].[YY_Integration].[dbo].[Shipments] with(nolock) '

+' where storeid in (5,9) and [PrintedOn]>''2010-09-01'''

exec SP_EXECUTESQL @sql

--sql-结束--------------


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/229877.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存