sqlserver如何创建链接服务器,实现跨库连接
一、背景
- 两台服务器处于同一局域网下或者一个路由器下
- 要进行链接的服务器均为sqlserver
二、注意事项
(1)确保sql server已启用远程连接
- 登录需要被链接服务器的计算机上
- 打开sql server management studio (ssms)
- 使用windows身份验证或者使用sqlserver身份验证进行登录
- 找到对应的数据库服务,单击右键–>找到属性—>选择“连接”—找到对应“是否开启远程权限” 选中
(2)如果需要使用tcp/ip 协议进行连接,则确保“启用tcp/ip” 协议被选中
- 登录需要被链接服务器的计算机上
- 找到sqlserver配置管理器—>打开
- 找到sqlserver网络配置—>mssqlserver协议---->tcp/ip---->启用
(3)配置防火墙
-
如果你的 sql server 托管在防火墙后面的计算机上,确保打开了用于 sql server 的端口(默认情况下是1433)。
-
还要确保 sql server 浏览器服务正在运行,它负责帮助客户端定位 sql server 实例。
-
转到 sql server 所在的计算机的防火墙设置。
-
创建一个入站规则,允许传入的连接到 sql server 的端口(默认是 1433)。
(4)修改配置之后建议重启sql server服务
-
打开 sql server configuration manager。
-
在左侧面板中选择 “sql server services”。
-
在右侧窗口中,右键单击 sql server 实例,选择 “重启”。
(5)测试远程连接,服务器是否正常
-
在远程计算机上使用 sql server management studio(ssms)或其他 sql 客户端工具连接到 sql server 实例。
-
在连接对话框中,指定 sql server 的 ip 地址或主机名,以及凭据(windows 身份验证或 sql server 身份验证)。
-
如果一切设置正确,你应该能够成功连接到 sql server。
二、图文教程&配置相关
-
检查被链接的服务器是否开启远程权限,进入sqlserver管理器找到被链接服务器---->右键属性
-
连接—>允许远程到此服务器
-
确保tcp/ip协议被启用:桌面—>开始—>sqlserver 配置管理器
-
找到sql server网络配置—>mssqlserver协议—>tcp/ip 协议---->选择启用
-
进入windows防火墙—>高级设置
-
选择“入站规则”
-
确保已经开放1433(默认1433,根据自己的情况来)端口(如果不知道怎么开放端口,请手动百度搜索:windows防火墙如何创建端口入站规则)
-
返回 sql server management studio (ssms)—>选择重新启动
三、在需要链接其他服务器的数据库中---->sql语句创建链接服务器
- 在当前数据库(假设为follow_up)中创建一个链接服务器的连接
exec sp_addlinkedserver
@server = 'cloudantdbserver', -- 连接服务器的名称(自定义)
@srvproduct = '', -- 产品名称,可以为空
@provider = 'msdasql', -- 提供程序,通常使用 sql native client
@datasrc = 'cloudantdb_v3'; -- 本机数据库的数据源名称(数据库名)`
- 创建登录映射
exec sp_addlinkedsrvlogin
@rmtsrvname = 'cloudantdbserver', -- 引用要链接的服务器名称,同上,名称需要一样
@useself = 'false',
@locallogin = null, -- 本地 sql server 登录用户名
@rmtuser = 'cloudantdb_username', -- 被链接数据库的用户名
@rmtpassword = 'cloudantdb_password'; -- 被链接数据库的密码
-
查询被链接的数据库_表
select * from cloudantdbserver.bnnursingdocssystem_develop.dbo.v_clean_delivery_record; -- cloudantdbserver 引用要链接的服务器名称 -- bnnursingdocssystem_develop 被链接的数据库名 -- dbo.v_clean_delivery_record; 视图名称/表名称
发表评论