sqlserver跨服务器连接数据库
sqlserver跨服务器连接数据库
文章目录
- 开启组件
- 语法
- 添加链接
- 关闭组件
开启组件
首先开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
开启组件的原因语法中会说到。
语法
openrowset()方法是连接其他服务器数据库的命令。
语法:openrowset(‘SQLOLEDB’,‘ip,端口’;‘username’;‘password’,‘sql语句或者表’)。
两个示例:
1.select * from openrowset('SQLOLEDB','127.0.0.1,8080';'sa';'12345678',
[Database].[dbo].table) ;
// 直接连接表可以不用带引号
2.select * from openrowset('SQLOLEDB','127.0.0.1,8080';'sa';'12345678',
'select id , name from [Database].[dbo].table') ;
//如果是sql语句需要带引号
注意:如果不开启组件,会报下面这个错误。
添加链接
如果感觉每次都是用openrowset()方法太麻烦了,可以添加一个链接服务器。
EXEC sp_addlinkedserver
@server='iptest', --服务器别名(可以用ip,也可以自己设置,只是个名称)
@srvproduct=' ', --链接服务器的OLEDB数据源的产品名称,对象是sqlserver可以不指定
@provider='SQLOLEDB', --提供程序与数据源交互的动态链接库,是个连接对象,无需更改
@datasrc='101.1.101.101' --被访问的服务器的ip
添加用户登录链接。
EXEC sp_addlinkedsrvlogin
'iptest', --与上面的服务器别名保持一致
'false', -- 不用管
NULL, --不用管
'administrator', --被访问的服务器帐号
'password' --被访问的服务器密码
此时执行:
select * from [iptest].[Database].[dbo].[table]
和
select * from openrowset(‘SQLOLEDB’,‘127.0.0.1,8080’;‘sa’;‘12345678’,
[Database].[dbo].table) ;
效果是一样的。
建议:如果确定数据库名和表名没有重复的或者以关键字命名的,中括号可以去掉。
关闭组件
注意:如果不需要链接需要关闭组件,因为开启会有安全隐患,避免别人攻击。
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
如果链接不再使用,可以删除已经存在的某个链接。
Exec sp_droplinkedsrvlogin 服务器别名,Null
Exec sp_dropserver 服务器别名
sqlserver跨服务器连接数据库相关推荐
- SQLServer 跨服务器 查询数据
--查看当前数据库已存在链接情况: select * from sys.servers;--使用 sp_helpserver 来显示可用的服务器 Exec sp_helpserver--删除已经存在的 ...
- SqlServer 跨服务器查询
服务器A,服务器B select * from( select a.ID as Hid,a.subjectid as Hsubjectid,b.ID as Lid,b.subjectid as ...
- sqlserver 跨服务器备份表
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Querie ...
- sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)
sql跨库查询(sqlserver跨库查询) 2020-07-24 11:56:42 共10个回答 首先你的要求不明确..要是按照你的要求的话以下语句就可以解决了跨库中只要用.来表示就可以了db.ta ...
- KSO-sqlserver跨服务器查询方法
跨服务器查询场景: sql server跨服务器连接数据库,这个是可以实现的,但前提是你这边可以顺利连接对方的服务器,否则,纵使怎么配置也没有什么用处.在能够连接对方的服务器的基础上,我们可以通过下面 ...
- sqlserver 查看服务器名称以及sql语句跨服务器查询设置
print '服务器的名称:'+@@SERVERNAME print 'SQL Server的版本' + @@VERSION SELECT @@SERVERNAME as '服务器名称' select ...
- update关联其他表批量更新数据-跨数据库-跨服务器Update时关联表条件更新
1.有时在做项目时会有些期初数据更新,从老系统更新到新系统.如果用程序循环从老系统付给新系统. 2.有时在项目中需要同步程序,或者自动同步程序时会有大量数据更新就可能用到如下方法了. 3.为了做分析, ...
- SqlServer跨库查询
SqlServer跨库查询 –创建远程链接服务器 execute sys.sp_addlinkedserver @server='otherServer', –被访问的服务器别名 @srvproduc ...
- IIS配置跨服务器迁移
这几天,因为服务器要重装,要将此服务器的IIS网站搬到别一台服务器,因运行在此服务器上的站点有200多,不可能手动去重新设置,在网上找了一些迁移的工具,效果不理想,仔细研究IIS后,终天找到了一个比较 ...
最新文章
- 关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...
- C语言写一函数交换两变量的值
- python装饰器简单理解
- Android MVVM 架构应用实现
- 今天看到一个很个性的blog
- 2017年6月21号课堂笔记
- 130. Surrounded Regions 被围绕的区域
- epub 机器人系列 阿西莫夫_艾萨克·阿西莫夫是不是穿越来的,他怎么能那么准地预言机器人,互联网技术呢?...
- 语音媒体和信令的测试软件,IP多媒体子系统信令分析工具的设计与实现
- sql右下角图标工具
- python函数执行顺序_python下for循环接if判断的函数执行顺序
- Struts 2的拦截器(Interceptor)总结
- hadoop 分布式切换为伪分布式(单机)
- 汉化:Blocs for Mac(可视化网页设计工具)4.5.0
- tplink连接服务器失败_TPLINK无线路由WDS(桥接)设置方法图解教程 距离远增强wifi信号...
- 逻辑代数01律的理解_第十课:四个基本子空间——MIT线性代数课程学习笔记
- JavaWeb开发Listener学习
- 聊聊EurekaRibbonClientConfiguration
- 【转】简洁帮助文档制作 EasyCHM V3.84 build545 下载(含破解及注册码)
- 注册表REG文件编写大全
热门文章
- 视频号7天销售额超百万
- php冒泡排序 优点,浅谈php冒泡排序
- postman成功返回数据,但是浏览器返回状态码500,原因,传过去的参数格式出错
- alfred搜索到文件后打开所在目录
- 【simulink simscape报错】Rigidly connected port error with Simscape Multibody Contact Forces Library
- 【MM小贴士】副产品 工单核算
- HI3516DV300 BT1120输入
- 18位身份证号码的校验
- Teradata给企业一双“慧眼”
- 一招教你快速学会Linux ssh连接免密登录