(3.15)跨服务器/实例访问数据库
Posted 郭大侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(3.15)跨服务器/实例访问数据库相关的知识,希望对你有一定的参考价值。
1.链接数据库
exec sp_addlinkedserver ‘csj‘,‘‘,‘SQLOLEDB‘,‘pc‘ -- 把【数据库地址pc】与连接名称【csj】绑定
exec sp_addlinkedsrvlogin ‘csj‘,‘false‘,null,‘sa‘,‘123456‘ -- 把【用户名sa】和【密码123456】与连接名称【csj】绑定
go
-- 建立完成之后就可以正常使用了
select * from csj.bds0040263_db.dbo.Sys_User --连接名称.数据库名称.dbo.表名称 这是一个完整的sql语句
exec sp_dropserver ‘csj‘,‘droplogins‘ -- 操作完后,删除【csj】连接名称
- exec sp_addlinkedserver ‘csj‘,‘‘,‘SQLOLEDB‘,‘pc‘ -- 把【数据库地址pc】与连接名称【csj】绑定
- exec sp_addlinkedsrvlogin ‘csj‘,‘false‘,null,‘sa‘,‘123456‘ -- 把【用户名sa】和【密码123456】与连接名称【csj】绑定
- go
- -- 建立完成之后就可以正常使用了
- select * from csj.bds0040263_db.dbo.Sys_User --连接名称.数据库名称.dbo.表名称 这是一个完整的sql语句
- exec sp_dropserver ‘csj‘,‘droplogins‘ -- 操作完后,删除【csj】连接名称
2.OPENROWSET函数
需要先在主服务器上更改一个设置,右击主服务器——方面
需要把AdHocRemoteQueriesEnabled属性改为True,默认是false的
--------***此外也可以通过语句来完成上面的操作
- use master;
- GO
- exec sp_configure ‘show advanced option‘,‘1‘;
- reconfigure
- exec sp_configure ‘Ad Hoc Distributed Queries‘,‘1‘;
- reconfigure
如果想关闭远程则可以把‘1’改成‘0’ *****------------
然后就可以通过语句直接访问目标服务器中的数据库了
测试一下:
- select * from
- openrowset(‘SQLNCLI‘,
- ‘Server=127.0.0.1,8888;UID=用户名;PWD=密码;‘,
- ‘select * from 表名‘)
另外OPENROWSET 是一次性的访问,对于经常性要链接的服务器可以直接添加链接服务器
以上是关于(3.15)跨服务器/实例访问数据库的主要内容,如果未能解决你的问题,请参考以下文章