利用sp_addlinkedserver实现远程数据库链接

--查看当前链接情况:

select * from sys.servers;

--使用 sp_helpserver 来显示可用的服务器

Exec sp_helpserver

--删除已经存在的某个链接

Exec sp_droplinkedsrvlogin 服务器别名,Null
Exec sp_dropserver 服务器别名

--使用sp_addlinkedserver来增加链接

EXEC sp_addlinkedserver
@server=‘192.168.2.66‘,--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:JOY)
@srvproduct=‘‘,
@provider=‘SQLOLEDB‘,
@datasrc=‘192.168.2.66‘ --要访问的服务器

--使用sp_addlinkedsrvlogin 来增加用户登录链接

EXEC sp_addlinkedsrvlogin
‘192.168.2.66‘, --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY)
‘false‘,
NULL,
‘sa‘, --帐号
‘test123‘ --密码

使用举例(访问目标服务器上的数据库Music,查看其中表test的内容):

如果建立链接时的别名是目标服务器IP,即192.168.2.66

则:

select * from [192.168.2.66].[Music].dbo.test

如果建立链接时的别名是JOY,

则:

select * from [JOY].[Music].dbo.test

可能会遇到的问题:
exec sp_dropserver ‘JOY‘执行失败,

报错信息:仍有对服务器 ‘JOY‘ 的远程登录或链接登录

解决方法:

exec sp_droplinkedsrvlogin ‘JOY‘,null

exec sp_dropserver ‘JOY‘

时间: 2024-10-11 22:00:30

利用sp_addlinkedserver实现远程数据库链接的相关文章

如何利用sp_addlinkedserver实现远程数据库链接

利用sp_addlinkeserver 进行远程数据库连接可以把多个数据库的数据,放置到一个数据库中, 或者有设置操作权限的情况下,我们可以通过这种方式进行查询,备份数据等操作. 首先,我们要创建连接 执行  sp_addlinkedserver 进行连接创建,具体操作如下 EXEC sp_addlinkedserver@server='itsv1',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:link1)@srvproduct='',@provider='SQLOLED

亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接

亲爱的mssql码农们,可以看看本地连接远程的数据库方式(sp_addlinkedserver)--通过代码连接 --查看当前链接情况: select * from sys.servers; --使用 sp_helpserver 来显示可用的服务器 Exec sp_helpserver --删除已经存在的某个链接 Exec sp_droplinkedsrvlogin 服务器别名,Null Exec sp_dropserver 服务器别名 --使用sp_addlinkedserver来增加链接 E

sql server 实现远程数据库链接

--查看当前链接情况: select * from sys.servers; --使用 sp_helpserver 来显示可用的服务器 Exec sp_helpserver --删除已经存在的某个链接 Exec sp_droplinkedsrvlogin 服务器别名,NullExec sp_dropserver 服务器别名 --使用sp_addlinkedserver来增加链接 EXEC sp_addlinkedserver@server='192.168.2.66',--被访问的服务器别名(习

sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结)

由于业务逻辑的多样性,经常得在sql server中查询不同数据库中数据,这就产生了分布式查询的需求 现我将开发中遇到的几种查询总结如下: 1.access版本 --建立连接服务器 EXEC sp_addlinkedserver --要创建的链接服务器名称  'ai',             --产品名称               'access',     --OLE DB 字符 'Microsoft.Jet.OLEDB.4.0',  --数据源 --格式: -- 盘符:\路径\文件名 -

SQL使用链接服务器执行远程数据库上的存储过程

原文:SQL使用链接服务器执行远程数据库上的存储过程 --创建链接服务器 exec sp_addlinkedserver'server_tmp','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrvlogin'server_tmp','false',null,'用户名','密码' exec sp_serveroption'server_lnk','rpc out','true' --这个允许调用链接服务器上的存储过程 go --调用: exec ser

如何解决liunx链接远程数据库10038错误提示

关于在windows下链接liunx系统下远程数据库报错2003--提示10038的解决方案如下: 在liunx系统中安装配置mysql数据库默认是没有对外开启3600端口,如果出现10038: 1,先尝试:netstat -an|grep 3306  来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用, 2,打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf 将b

计算机改名导致数据库链接的诡异问题

前几天给开发部门部署测试数据库时,遇到一个很诡异的问题:创建一个链接服务器GEK-MIS01时,报错如下: 消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行 仍有对服务器 'GEK-MIS01' 的远程登录或链接登录. 脚本如下(略去登录名等关键信息):   因为当时是一批脚本执行而且仅有这个脚本出错,当我准备查检查出错原因的时候,又有更紧急的事情要处理,就耽搁了处理这个问题,开发那边在测试过程发现这个数据库链接有问题,邮件反馈给我,我检查时居然发现很多不可

SQL Server实时同步更新远程数据库遇到的问题

工作中遇到这样的情况,需要在更新表TableA(位于服务器ServerA 172.16.8.100中的库DatabaseA)同时更新TableB(位于服务器ServerB 172.16.8.101中的库DatabaseB). TableA与TableB结构相同,但数据数量不一定相同,应为有可能TableC也在更新TableB.由于数据更新不频繁,为简单起见想到使用了触发器Tirgger.记录一下遇到的一些问题: 1. 访问异地数据库 在ServerA 中创建指向ServerB的链接服务器,并做好

MSSqlServer访问远程数据库

--第一部分(要点)--永久访问方式(需对访问远程数据库进行经常性操作)时设置链接数据库Exec sp_addlinkedserver 'MyLinkServer','','SQLOLEDB','远程服务器名或ip地址'--或:Exec sp_addlinkedserver '远程服务器',N'SQL Server'Exec sp_addlinkedsrvlogin 'MyLinkServer','false',null,'用户名','密码' --返回本地服务器中定义的链接服务器列表Exec s