代码之家  ›  专栏  ›  技术社区  ›  tdl56

MSSQL安装失败,出现“NT Service\SQLTELEMETRY”帐户错误

  •  0
  • tdl56  · 技术社区  · 2 年前

    我正在尝试安装Microsoft SQL Server 2019。如果我以交互方式执行安装,则安装成功完成。但是,如果我使用此成功安装创建的配置文件,并以非交互方式(通过命令 E:\setup.exe /ConfigurationFile=xxxxx ),此安装失败,原因是:

    出现以下错误:
    为“NT Service\SQLTELETRY$MSSQLSERVER1”提供的虚拟帐户“NT Service/SQLTELETRY”不是有效帐户,或者无法用于此服务。

    错误结果:-2068578304
    结果设施代码:1204
    结果错误代码:0

    我假设交互式执行有权创建 NT Service\SQLTELEMETRY 帐户,但非交互式执行没有?

    关于如何让非交互式执行发挥作用,有什么想法吗?我的最终目标是使用Ansible自动执行SQL Server win_package module

    谢谢你的帮助!

    我使用交互式执行生成的配置文件尝试了非交互式执行,并期望此非交互式执行能够成功安装SQL Server。

    0 回复  |  直到 2 年前
        1
  •  0
  •   Danielle    2 年前

    在通过命令行进行静默安装的情况下,您需要以管理员身份运行cmd或powershell终端。为此,您的用户需要在计算机上具有管理员权限。右键单击该应用程序(无论您使用什么终端),如果已列出,请单击“以管理员身份运行”,如果未列出,则单击“更多”。

    为了用ansible实现同样的效果,您需要设置become_method和become_user变量,然后将其设置为true。我选择在剧本级别设置方法和用户,在任务级别设置变为var,这样我就不必在不想以管理员身份运行的每个任务中将其设置为false。

    ---
    - name: Install and configure sqlserver 2019
      hosts: sqlserver
      become_method: runas
      become_user: Administrator
      tasks:
        - name: Execute installation media
          win_package:
            path: 'E:\setup.exe'
            arguments: "/ConfigurationFile=xxxxx"
            state: present
          become: true
        
    

    从交互式安装中按原样使用配置文件是不足以进行静默安装的。您必须在配置文件或命令行参数中添加/更新一些值。我在下面列出了我在自己的文件中看到的内容,但请查看全部内容 list of options

    IACCEPTSQLSERVERLICENSETERMS="True"
    PID="<your_license or the developer id 22222-00000-00000-00000-00000>"
    QUIET="True"
    QUIETSIMPLE="False"
    SUPPRESSPRIVACYSTATEMENTNOTICE="False"
    SUPPRESSPAIDEDITIONNOTICE="True"
    INDICATEPROGRESS="False"
    SAPWD="<some_password>"
    SQLSVCPASSWORD="<some_password>"
    

    编辑:这是我的整个ConfigurationFile.ini,以防有另一个值允许创建遥测用户。您必须更新主机名和sa用户密码的值。总的来说,静默安装通常并不困难,但有时找到变量和权限的正确组合可能会很烦人。

    ;SQL Server 2019 Configuration File
    [OPTIONS]
    
    ACTION="Install"
    IACCEPTSQLSERVERLICENSETERMS="True"
    IACCEPTPYTHONLICENSETERMS="False"
    IACCEPTROPENLICENSETERMS="False"
    PID="22222-00000-00000-00000-00000"
    
    QUIET="True"
    QUIETSIMPLE="False"
    SUPPRESSPRIVACYSTATEMENTNOTICE="False"
    SUPPRESSPAIDEDITIONNOTICE="True"
    INDICATEPROGRESS="False"
    
    UpdateSource="MU"
    UpdateEnabled="False"
    USEMICROSOFTUPDATE="False"
    HELP="False"
    
    FEATURES=SQLENGINE,CONN,IS,BC
    INSTANCENAME="MSSQLSERVER"
    INSTANCEID="MSSQLSERVER"
    SQLSYSADMINACCOUNTS="your-servers-hostname\Administrator"
    SAPWD="desired-sa-password"
    
    ENU="True"
    SQLMAXDOP="4"
    SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
    SQLSVCINSTANTFILEINIT="True"
    SECURITYMODE="SQL"
    SQLTEMPDBFILECOUNT="4"
    SQLTEMPDBFILESIZE="8"
    SQLTEMPDBFILEGROWTH="64"
    SQLTEMPDBLOGFILESIZE="8"
    SQLTEMPDBLOGFILEGROWTH="64"
    TCPENABLED="1"
    NPENABLED="1"
    USESQLRECOMMENDEDMEMORYLIMITS="True"
    
    SQLSVCSTARTUPTYPE="Automatic"
    SQLSVCACCOUNT="NT Service\MSSQLSERVER"
    SQLSVCPASSWORD="desired-sa-password"
    
    SQLTELSVCACCT="NT Service\SQLTELEMETRY"
    SQLTELSVCSTARTUPTYPE="Automatic"
    
    ISTELSVCSTARTUPTYPE="Automatic"
    ISTELSVCACCT="NT Service\SSISTELEMETRY150"
    
    AGTSVCACCOUNT="NT Service\SQLSERVERAGENT"
    AGTSVCSTARTUPTYPE="Manual"
    
    ISSVCSTARTUPTYPE="Automatic"
    ISSVCACCOUNT="NT Service\MsDtsServer150"
    
    COMMFABRICPORT="0"
    COMMFABRICNETWORKLEVEL="0"
    COMMFABRICENCRYPTION="0"
    MATRIXCMBRICKCOMMPORT="0"
    
    X86="False"
    FILESTREAMLEVEL="0"
    ENABLERANU="False"
    ADDCURRENTUSERASSQLADMIN="False"
    BROWSERSVCSTARTUPTYPE="Disabled"