安装TFS 2017时无法连接远程SQL Server,需配置哪些角色?
TFS 2017 安装时连接远程SQL Server的权限要求及排查建议
我在安装TFS 2017的Server Configuration Wizard的Database步骤中遇到了问题:向导要求输入远程SQL Server实例名称,但始终无法建立连接。目前已经确认:
- 可以通过SQL Server Management Studio正常连接到该远程SQL实例
- 所有相关防火墙都已关闭,排除了流量拦截的可能
(安装向导的Database步骤界面需输入SQL实例名称,错误提示显示无法连接到目标实例)
针对这个问题,TFS连接SQL Server所需的核心角色权限及额外排查点如下:
必备的SQL Server角色/权限
运行TFS安装向导的账户(或TFS后续将使用的服务账户)需要具备以下SQL Server权限:
- 服务器级别角色:
- 最便捷的是赋予
sysadmin服务器角色:TFS安装过程中需要执行大量数据库创建、系统配置操作,sysadmin权限能确保所有操作无阻碍完成,适合测试环境或权限管控宽松的场景。 - 若需更精细化的权限控制,可以组合以下角色:
dbcreator:用于创建TFS所需的配置数据库、项目集合数据库等serveradmin:用于配置SQL Server的服务器级参数(如内存、日志设置)securityadmin:用于管理SQL Server的登录账户及权限映射processadmin:用于管理SQL Server的后台进程
- 最便捷的是赋予
- 数据库级别权限:
如果目标SQL Server上已存在TFS相关的数据库,该账户还需要对这些数据库拥有db_owner角色权限。
额外排查要点
除了权限,还有几个细节可以确认:
- 账户一致性:确保运行TFS安装向导的账户,和你用SSMS连接SQL Server时的账户是同一个,或者该账户已被添加到SQL Server的登录列表中。
- SQL Server协议配置:检查远程SQL Server是否开启了TCP/IP协议(在SQL Server配置管理器的「SQL Server网络配置」中查看)——TFS安装向导通常依赖TCP/IP连接,而SSMS可能默认使用了Named Pipes等其他协议,这会导致两者连接结果不一致。
- 身份验证方式:如果使用域账户连接远程SQL,确认域账户已在SQL Server中创建对应的登录名并赋予权限;若使用本地账户,跨机器连接可能存在权限限制,建议优先使用域账户。
内容的提问来源于stack exchange,提问作者Concware
相关产品推荐
相关产品推荐

