你的位置:首页 > 数据库

[数据库]SqlServer不同服务器之间数据库连接、数据库登录、数据传递


需求:我是本地数据库想纯SQL访问其它服务器上的数据库,而不使用数据库客户端的连接。这里面就想到了数据库link,通过下面的代码进行创建以后,就可以在本地对链接的服务器数据库进行操作了
--添加SQLServer链接服务器1exec sp_addlinkedserver @server= 'LinkMainGlobalGgsBaseDb', @srvproduct= '', @provider='SQLNCLI', @datasrc = '219.131.240.42' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'LinkMainGlobalGgsBaseDb', @useself = 'false ', @locallogin = null, @rmtuser ='sa', @rmtpassword = 'admin!~' --添加SQLServer链接服务器2exec sp_addlinkedserver @server= 'LinkMiddleGlobalGgsBaseDb', @srvproduct= '', @provider='SQLNCLI', @datasrc = '123.41.210.67,1042' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'LinkMiddleGlobalGgsBaseDb', @useself = 'false ', @locallogin = null, @rmtuser ='ggsdata', @rmtpassword = 'data@163&~' --参数说明 -- @serve:链接服务器的名字 -- @provider:访问接口 -- @datasrc:要链接的服务器地址,如果有端口就加端口 -- @rmtsrvname:链接名 -- @rmtuser:登录名称 -- @rmtpassword:登录密码

由于本地还清楚怎么创建链表数据库的表或者存储过程什么的,这下面的Temp是通过Sql客户端直接创建好的,这里面只做查询的演示,当然删除或者更新表的数据都是可以的,就是在需要在访问表的时候加上链表名称和数据库名称
--查询数据主库的表SELECT * FROM LinkMainGlobalGgsBaseDb.MilddleGloabalGgsBaseDb.dbo.Temp--获取中间库数据表SELECT * FROM LinkMiddleGlobalGgsBaseDb.MilddleGloabalGgsBaseDb.dbo.Temp


这里面只是完成这一单一操作,当然我的目标是使用简单的数据库编程来实现两个服务器数据库的数据操作,外加一个数据库定时自动执行脚本的操作,如需要了解此功能,请查看下一篇博客