在通过命令行进行静默安装的情况下,您需要以管理员身份运行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"