SQLserver如何创建链接服务器,实现跨库连接

SQLserver如何创建链接服务器,实现跨库连接

一、背景
  1. 两台服务器处于同一局域网下或者一个路由器下
  2. 要进行链接的服务器均为SQLserver
二、注意事项

(1)确保Sql Server已启用远程连接

  1. 登录需要被链接服务器的计算机上
  2. 打开SQL Server Management Studio (SSMS)
  3. 使用Windows身份验证或者使用SQLserver身份验证进行登录
  4. 找到对应的数据库服务,单击右键–>找到属性—>选择“连接”—找到对应“是否开启远程权限” 选中

(2)如果需要使用TCP/IP 协议进行连接,则确保“启用TCP/IP” 协议被选中

  1. 登录需要被链接服务器的计算机上
  2. 找到SQLserver配置管理器—>打开
  3. 找到SQLserver网络配置—>MSSQLSERVER协议---->TCP/IP---->启用

(3)配置防火墙

  1. 如果你的 SQL Server 托管在防火墙后面的计算机上,确保打开了用于 SQL Server 的端口(默认情况下是1433)。

  2. 还要确保 SQL Server 浏览器服务正在运行,它负责帮助客户端定位 SQL Server 实例。

  3. 转到 SQL Server 所在的计算机的防火墙设置。

  4. 创建一个入站规则,允许传入的连接到 SQL Server 的端口(默认是 1433)。

(4)修改配置之后建议重启SQL server服务

  1. 打开 SQL Server Configuration Manager。

  2. 在左侧面板中选择 “SQL Server Services”。

  3. 在右侧窗口中,右键单击 SQL Server 实例,选择 “重启”。

(5)测试远程连接,服务器是否正常

  1. 在远程计算机上使用 SQL Server Management Studio(SSMS)或其他 SQL 客户端工具连接到 SQL Server 实例。

  2. 在连接对话框中,指定 SQL Server 的 IP 地址或主机名,以及凭据(Windows 身份验证或 SQL Server 身份验证)。

  3. 如果一切设置正确,你应该能够成功连接到 SQL Server。

二、图文教程&配置相关
  1. 检查被链接的服务器是否开启远程权限,进入SQLSERVER管理器找到被链接服务器---->右键属性
    SQLserver如何创建链接服务器,实现跨库连接_第1张图片

  2. 连接—>允许远程到此服务器
    SQLserver如何创建链接服务器,实现跨库连接_第2张图片

  3. 确保TCP/IP协议被启用:桌面—>开始—>SQLSERVER 配置管理器

在这里插入图片描述

  1. 找到SQL server网络配置—>MSSQLSERVER协议—>TCP/IP 协议---->选择启用
    SQLserver如何创建链接服务器,实现跨库连接_第3张图片

  2. 进入Windows防火墙—>高级设置
    SQLserver如何创建链接服务器,实现跨库连接_第4张图片

  3. 选择“入站规则”
    SQLserver如何创建链接服务器,实现跨库连接_第5张图片

  4. 确保已经开放1433(默认1433,根据自己的情况来)端口(如果不知道怎么开放端口,请手动百度搜索:windows防火墙如何创建端口入站规则)
    SQLserver如何创建链接服务器,实现跨库连接_第6张图片

  5. 返回 SQL Server Management Studio (SSMS)—>选择重新启动
    SQLserver如何创建链接服务器,实现跨库连接_第7张图片

三、在需要链接其他服务器的数据库中---->SQL语句创建链接服务器

  1. 在当前数据库(假设为follow_up)中创建一个链接服务器的连接
EXEC sp_addlinkedserver
   @server = 'CloudantDBServer',  -- 连接服务器的名称(自定义)
   @srvproduct = '',		-- 产品名称,可以为空
   @provider = 'MSDASQL',	-- 提供程序,通常使用 SQL Native Client 
   @datasrc = 'CloudantDB_v3';  -- 本机数据库的数据源名称(数据库名)`
  1. 创建登录映射
EXEC sp_addlinkedsrvlogin
   @rmtsrvname = 'CloudantDBServer', -- 引用要链接的服务器名称,同上,名称需要一样
   @useself = 'false',
   @locallogin = null,  -- 本地 SQL Server 登录用户名
   @rmtuser = 'CloudantDB_username',  -- 被链接数据库的用户名
   @rmtpassword = 'CloudantDB_password';  -- 被链接数据库的密码
  1. 查询被链接的数据库_表

    SELECT *
    FROM CloudantDBServer.BNNursingDocsSystem_Develop.dbo.V_CLEAN_DELIVERY_RECORD;
    -- CloudantDBServer 引用要链接的服务器名称
    -- BNNursingDocsSystem_Develop 被链接的数据库名
    -- dbo.V_CLEAN_DELIVERY_RECORD; 视图名称/表名称
    

你可能感兴趣的:(数据库相关,sqlserver,服务器,数据库)