SQLSERVER 跨数据库 查询

需求 

1、A服务器的 mssql db1的表a 要与

2、B服务器的 mssql db2的表b 要union 

解决方案

1,ETL(kettle) 做数据同步。同一个服务器 同一个库里面就可以了      

2、做数据库跨服务器查询 

MSSQL2008实践如下:

--EXEC sp_addlinkedserver 'M8P(yourname)','','SQLOLEDB','(yourmssqlIP,Port)'  
--EXEC sp_addlinkedsrvlogin 'M8P(yourname)','false',null,'(username eg sa)','(password)' 

  接下来就可以跨库查数据了

select * from m8p.FumaCRM8.dbo.scADPL

参考:SqlServer 连接远程服务器数据库 实现跨服务器联合查询_sqlserver 两个服务器联合查询-CSDN博客

### SQL Server 跨数据库查询使用 `OPENQUERY` 方法 在 SQL Server 中执行跨数据库查询可以通过多种方式实现,其中一种常用的方法是利用 `OPENQUERY` 函数。此函数允许用户通过已定义的链接服务器来访问远程数据源中的对象。 #### 创建链接服务器 为了能够使用 `OPENQUERY` 进行查询,首先需要设置一个指向目标数据库所在实例的链接服务器。这通常涉及指定连接字符串、认证模式以及要连接的具体服务器名称等参数[^3]。 ```sql EXEC sp_addlinkedserver @server='RemoteServer', @srvproduct='', @provider='SQLNCLI', @datasrc='YourRemoteMachineName'; ``` 上述命令创建了一个名为 "RemoteServer" 的新链接服务器条目,它会尝试连接到由变量 `'YourRemoteMachineName'` 所表示的实际机器上的默认实例。 #### 使用 `OPENQUERY` 查询远端表 一旦建立了合适的链接服务器配置,则可以借助于 `OPENQUERY` 来构建针对外部资源的选择语句: ```sql INSERT INTO LocalTable (Column1, Column2) SELECT ColumnA, ColumnB FROM OPENQUERY(RemoteServer, 'SELECT ColumnA, ColumnB FROM DatabaseName.Schema.TableName'); ``` 这段代码展示了如何将来自另一个数据库的结果集插入当前环境下的本地表格内;这里假设已经存在一张叫做 `LocalTable` 的接收表,并且其结构匹配所选列的数据类型与顺序[^4]。 请注意,在实际应用过程中应当替换掉示例里的占位符(如 `RemoteServer`, `DatabaseName`, `Schema`, 和 `TableName`),使其对应真实的系统组件名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值