You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 2019非交互式安装失败:NT Service\SQLTELEMETRY账户错误

解决SQL Server 2019非交互式安装遥测账户报错问题

问题根源

交互式安装时,SQL Server安装程序会自动根据实例名生成对应的虚拟服务账户(如NT Service\SQLTELEMETRY$MSSQLSERVER1);但非交互式安装若配置文件参数错误、或运行权限不足,会导致无法识别/创建该虚拟账户。

具体解决步骤

1. 修正配置文件中的遥测服务账户参数

打开交互式生成的配置文件,找到以下两行:

SQLTELSVCACCOUNT="NT Service\SQLTELEMETRY"
SQLTELSVCPASSWORD=""

如果你的实例是命名实例(如MSSQLSERVER1),需将SQLTELSVCACCOUNT修改为对应实例的虚拟账户:

SQLTELSVCACCOUNT="NT Service\SQLTELEMETRY$MSSQLSERVER1"

如果是默认实例(MSSQLSERVER),保持NT Service\SQLTELEMETRY即可。

2. 确保安装程序以本地系统权限运行

非交互式安装(包括Ansible win_package)必须拥有创建虚拟账户的权限,因此需要以**本地系统账户(Local System)**执行:

  • 直接运行命令行时,使用psexec -s E:\setup.exe /ConfigurationFile=xxxxx(需PsExec工具)
  • 在Ansible playbook中配置:
    - name: Install SQL Server 2019
      win_package:
        path: 'E:\setup.exe'
        arguments: '/ConfigurationFile=D:\sql_install_config.ini'
        state: present
      become: yes
      become_method: runas
      become_user: SYSTEM
    

3. 备选方案:改用内置系统账户替代虚拟账户

若虚拟账户问题仍无法解决,可在配置文件中将遥测服务账户改为本地系统账户,避免虚拟账户创建问题:

SQLTELSVCACCOUNT="NT AUTHORITY\SYSTEM"
SQLTELSVCPASSWORD=""

该账户拥有足够权限运行遥测服务,且无需额外创建虚拟账户。

4. 验证配置文件的实例名一致性

确保配置文件中的INSTANCENAME参数与服务账户后缀完全匹配:

INSTANCENAME="MSSQLSERVER1"

实例名需和服务账户中的$MSSQLSERVER1部分一致,否则会出现账户不匹配报错。


内容的提问来源于stack exchange,提问作者tdl56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:40:01