如何链接Windows Server 2016与Windows 10的SQL Server?需先将客户端加域吗?
核心疑问直接答复
- 创建SQL Server链接服务器没有强制要求必须把运行Win10端SQL的计算机加入AD域
- 但你已经提前在Windows Server 2016上部署了AD域服务的前提下,把Win10加域是最少踩坑的方案——可以直接走域内Kerberos/NTLM的认证链路,不用额外折腾跨工作组的权限打通、密码同步、防火墙例外这些新手容易卡的环节
前置准备操作清单
方案1:Win10加域(推荐)
- 先把Win10的网卡DNS地址指向部署AD的Windows Server 2016的固定IP,确保能正常解析到域控制器
- 打开Win10的系统属性→计算机名→更改设置,选择隶属于「域」,输入你提前配置的AD域名,用域管理员账号完成加域流程,重启电脑生效
- 两台机器的Windows防火墙都要放行SQL Server默认TCP 1433端口,若使用命名实例还要额外放行SQL Browser服务的UDP 1434端口
- 确认两台SQL Server的服务运行账号在域环境下没有本地权限断层,避免认证时出现匿名访问拒绝
方案2:Win10保持工作组模式(备选)
- 两台机器上必须创建账号名、密码完全一致的本地系统账号,且这个账号要给两端SQL Server分配足够的访问权限,不然跨机器认证会直接失败
- 确保两台机器可以通过主机名互相解析,没法解析的话后续配置链接服务器直接用对方的IP地址填写实例信息即可
- 同样需要手动在防火墙放行对应端口规则
链接服务器创建实操步骤
- 打开Windows Server 2016上的SSMS(SQL Server Management Studio),登录作为发起端的本地SQL Server实例
- 依次展开「服务器对象→链接服务器」,右键选择「新建链接服务器」
- 加域环境下的配置:
- 常规页填写远程Win10上的SQL Server实例地址(默认实例直接填加域后的计算机名,命名实例要按
计算机名\实例名格式填写) - 访问接口直接选择默认的
SQL Server - 切换到安全页,选择「使用当前安全上下文建立连接」——直接走域内Windows集成认证,不需要额外配置账号映射
- 常规页填写远程Win10上的SQL Server实例地址(默认实例直接填加域后的计算机名,命名实例要按
- 工作组环境下的配置:
- 常规页填写远程Win10的IP(或能解析到的主机名)对应的实例信息
- 安全页选择「使用此安全上下文建立连接」,输入之前提前创建的同名同密码的本地账号和对应密码
- 切到服务器选项页,把
RPC和RPC Out两个参数设置为True,否则跨实例分布式查询会直接报权限类错误
新手高频踩坑提醒
- 不要上来就用sa这类SQL Server本地账号配置跨机链接服务器,权限配置逻辑复杂,新手很容易卡在连接失败的环节
- 如果Win10端的SQL Server是Express版本,要提前确认SQL Browser服务是启动状态,不然命名实例根本无法被远程解析到
- Win10加域后不要随意修改计算机名,否则链接服务器的主机名解析会直接失效,需要重新修改链接服务器的配置信息
内容的提问来源于stack exchange,提问作者Samaha Oum
相关产品推荐
相关产品推荐

