Windows server 中 静默安装SQL SERVER 数据库 命令 参数

使用配置文件安装 SQL Server - SQL Server |Microsoft 学习

从命令提示符在 Windows 上安装和配置 SQL Server - SQL Server |Microsoft 学习

从命令提示符安装更新 - SQL Server |Microsoft 学习

登录到 SQL Server 实例(命令提示符) - SQL Server |Microsoft 学习

sqlcmd 实用程序 - SQL Server |Microsoft 学习

使用 sqlcmd 从脚本文件执行 T-SQL - SQL Server |Microsoft 学习

启动 sqlcmd 实用程序 - SQL Server |Microsoft 学习

使用 sqlcmd - SQL Server |Microsoft 学习

使用 sqlcmd 连接到 SQL Server - SQL Server |Microsoft 学习

快速入门:使用 sqlcmd 在容器中创建数据库的本地副本 - SQL Server |Microsoft 学习

 

在 Windows Server 中静默安装 SQL Server 数据库的命令和参数经历了多次发展和改进。SQL Server 提供了静默安装选项,使得管理员可以在没有用户交互的情况下进行 SQL Server 的安装和配置。静默安装通常通过命令行执行,使用 setup.exe 工具。以下是 SQL Server 静默安装的命令参数发展时间线。

1. SQL Server 2008(2008年)

  • 静默安装基础:SQL Server 2008 引入了命令行工具 setup.exe 来支持静默安装,允许通过命令行指定安装选项。初期的静默安装命令通常包含一个设置配置文件(如 .ini 文件)或者通过命令行参数直接传递。
  • 命令示例
    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Tools /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
    • /Q:静默安装。
    • /IACCEPTSQLSERVERLICENSETERMS:接受许可条款。
    • /ACTION=Install:执行安装操作。
    • /FEATURES:指定要安装的功能,如 SQL 引擎(SQL)和工具(Tools)。
    • /INSTANCENAME:指定实例名称。
    • /SQLSVCACCOUNT:指定 SQL Server 服务帐户。

2. SQL Server 2012(2012年)

  • 增强的静默安装支持:SQL Server 2012 引入了更多的命令行参数来增强静默安装的灵活性,例如支持更多的配置选项和角色功能。

  • 新参数

    • /IACCEPTSQLSERVERLICENSETERMS:强制接受许可条款。
    • /INDICATEPROGRESS:显示安装进度。
    • /SQLSVCACCOUNT:指定 SQL Server 服务账户。
    • /SQLSYSADMINACCOUNTS:指定 SQL Server 系统管理员账户。
  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Replication,FullText /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="DOMAIN\Administrator" /AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"

3. SQL Server 2014(2014年)

  • 进一步的命令行改进:SQL Server 2014 在命令行参数上进行了优化,增强了对复杂安装的支持。例如,安装过程中可以通过 SQL Server 配置文件(.ini 文件)进行更加细化的自定义设置。

  • 新参数

    • /CONFIGURATIONFILE:指定一个配置文件,包含所有的安装参数。
    • /ACTION=Install:指定安装动作。
  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Tools /INSTANCENAME=MSSQLSERVER /CONFIGURATIONFILE="C:\path\to\config.ini"

4. SQL Server 2016(2016年)

  • 更强的自动化支持:SQL Server 2016 提供了更多的命令行参数和优化选项,使得安装过程更加灵活和易于管理。尤其是在高可用性和容错配置方面,安装命令可以更加详细地指定。

  • 新参数

    • /TCPENABLED:启用 TCP/IP 协议。
    • /NPENABLED:启用命名管道协议。
    • /SQLSVCSTARTUPTYPE:指定 SQL Server 启动类型(如 Automatic)。
    • /SQLSVCUSER 和 /SQLSVCPASSWORD:指定 SQL Server 服务帐户及密码。
  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Tools,Replication /INSTANCENAME=MSSQLSERVER /TCPENABLED=1 /NPENABLED=1 /SQLSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"

5. SQL Server 2017(2017年)

  • 跨平台支持:SQL Server 2017 引入了对 Linux 平台的支持,这对安装命令行工具进行了适配,允许管理员在 Linux 环境下进行静默安装。

  • 增强的容器支持:引入了对 Docker 容器的支持,通过命令行进行 SQL Server 安装。

  • 新参数

    • /SQLSVCPASSWORD:指定 SQL Server 服务的密码。
    • /INSTANCENAME:指定实例名称。
  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSVCPASSWORD="yourpassword" /AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"

6. SQL Server 2019(2019年)

  • 强化容器和 Kubernetes 支持:SQL Server 2019 引入了对 Kubernetes 和容器的更好支持,增加了对容器的安装和配置选项,使得企业能够在现代的容器化环境中快速部署 SQL Server 实例。

  • 增强的功能安装和配置选项:SQL Server 2019 增加了更多用于定制安装过程的选项。

  • 新参数

    • /FEATURES=SQL,Tools,Replication,FullText,AnalysisServices:选择更多的功能进行安装。
    • /UpdateEnabled:启用自动更新功能。
  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Tools,Replication /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSVCPASSWORD="yourpassword" /UpdateEnabled=1

7. SQL Server 2022(2022年)

  • 更高效的云集成和智能化功能:SQL Server 2022 强调与 Azure 生态系统的集成,允许更灵活的安装选项,支持更多智能功能,如 Azure Synapse 和其他云集成功能。

  • 命令行增强:SQL Server 2022 引入了更多的云集成配置选项,以及对最新硬件和操作系统的支持。

  • 命令示例

    bashCopy Code
    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL,Tools,Cloud /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSVCPASSWORD="yourpassword"

SQL Server 从 2008 年到 2022 年在静默安装方面逐步发展,增加了对不同操作系统平台的支持、增强了容器和云环境的兼容性,并提供了更多的配置选项。命令行安装的核心参数和功能逐步细化和优化,允许管理员更精细地控制安装过程和功能选择。


这篇文章记录一下自己如何在Windows Server Core上安装和配置SQL Server

安装之前的检查

安装SQL Server的操作系统要求检查

第一件事是需要仔细检查SQL Server的要求文档,这个文档里详细的列出了目前SQL Server支持的操作系统版本,最重要的一条就是检查当你在使用云上的虚拟机时,是否对虚拟机上的操作系统支持,例如我计划是使用Windows Server 2022 Datacenter: Azure Edition, 那么就需要自己检查该文档,检查是否支持,该文档的地址是:https://learn.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022?view=sql-server-ver16, 请仔细检查操作系统支持,以及Cross-language支持。

注意
也需要注意你需要使用的SQL Server版本,包括企业版,开发版,标准版,Web版,以及Express版本。这些版本并不是在所有的操作系统上都支持的。

语言的支持

关于SQL Server多语言的支持,请参考文档:https://learn.microsoft.com/en-us/sql/sql-server/install/local-language-versions-in-sql-server?view=sql-server-ver16

注意
需要非常注意SQL Server的语言支持,必须选择和系统相对应的语言,否则会总是安装失败。

对于操作系统主要检查以下三项:

  • 操作系统使用的用户界面语言

  • 操作系统的用户locale

  • 操作系统的系统locale

Windows Server Core上使用如下的方式检查和配置:

PS C:\> Get-WinUILanguageOverride
PS C:\> Get-WinSystemLocale

LCID             Name             DisplayName
----             ----             -----------
2052             zh-CN            中文(简体,中国)


PS C:\> Get-WinUserLanguageList


LanguageTag     : zh-Hans-CN
Autonym         : 中文(中华人民共和国)
EnglishName     : Chinese
LocalizedName   : 中文(简体,中国)
ScriptName      : 中文(简体)
InputMethodTips : {0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411F-A5AC-CA038EC515D7}}
Spellchecking   : True
Handwriting     : True

PS C:\>

使用如下的方式设置系统的语言和Locale

PS C:\> Set-WinUILanguageOverride -Language en-US
PS C:\> Set-WinSystemLocale -SystemLocale en-US
PS C:\> Set-WinUserLanguageList -LanguageList en-US

确认
是否继续执行此操作?
[Y] 是(Y)  [N] 否(N)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): y
PS C:\>

设置系统的时区,可以使用sconfig, 运行sconfig, 然后如下图更改时区:

 

开始安装

开始安装之前请直接到微软的官方网站下载必要的安装文件,使用此安装文件下载必要的文档,默认情况下会下载到C:\SQLServer2022, 登录到Windows Server Core之后,在终端上进入到该目录,使用如下的安装命令进行SQL Server的安装:

    .\Setup.exe /qs /ACTION=Install /FEATURES=SQLEngine,FullText /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<本机或者域用户>" /SQLSVCPASSWORD="<本机或者域用户的密码>" /SQLSYSADMINACCOUNTS="<本机或者域用户>" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS  /ADDCURRENTUSERASSQLADMIN /SECURITYMODE=SQL /SAPWD="<SA的密码>"

我们解释一下这些参数的意义:

  • /qs: 执行静默安装,使用这个参数必须要带参数:/IACCEPTSQLSERVERLICENSETERMS

  • /ACTION=Install: 执行安装动作,这里也可以使用uninstall 卸载安装。

  • /FEATURES=SQLEngine, FullText: 安装选项,这里表示只安装数据库引擎和全文搜索。

  • /INSTANCENAME: 用于指定该安装的实例名.

  • /SQLSVCACCOUNT: SQL Server 服务的帐户: 域\用户或系统帐户, 用于启动SQL 服务的账户,例如系统管理员, SQLSVCPASSWORD需要指定该用户的密码。

  • /SQLSYSADMINACCOUNTS: 要设置为 SQL Server 系统管理员的 Windows 帐户, 本机或者域账户。

  • '/AGTSVCACCOUNT': SQL Server代理启动的账户

  • /TCPENABLED=1: 启用tcp协议支持。

  • /ADDCURRENTUSERASSQLADMIN: 注意这个是Express版本专用的选项,将当前用户添加到系统管理员。

  • /SECURITYMODE=SQL: 默认是采用windows认证,值SQL表示混合认证。

  • /SAPWD: 用于设定sa的密码。

完整的选项说明可以使用.\Setup.exe /? 进行仔细的查看。

当然还可以使用配置文件来安装,使用配置文件安装可以更加精细的调整和配置SQL Server的安装,例如数据文件的大小等等。

关于通过配置文件的安装,您可以查看文档:https://learn.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-using-a-configuration-file?view=sql-server-ver16

调整SQL Server接受tcp协议和命名管道协议

安装完成之后,需要调整该安装接受来自tcp/ip和命名管道的连接,在Windows Server Core上我们只能通过PowerShell进行调整。

我们这里需要使用sqlps模块,在powershell里需要预先载入该模块:

PS C:\> Import-Module sqlps
PS C:\>

TCP协议和端口的配置

然后先查看tcp的情况:

PS C:\> Import-Module sqlps
PS C:\> $smo = 'Microsoft.SqlServer.Management.Smo.'
PS C:\> $wmi = new-object ($smo + 'Wmi.ManagedComputer').
PS C:\> $wmi


ConnectionSettings : Microsoft.SqlServer.Management.Smo.Wmi.WmiConnectionInfo
Services           : {MSSQLFDLauncher, MSSQLSERVER, SQLBrowser, SQLSERVERAGENT}
ClientProtocols    : {}
ServerInstances    : {MSSQLSERVER}
ServerAliases      : {}
Urn                : ManagedComputer[@Name='WWW']
Name               : WWW
Properties         : {}
UserData           :
State              : Existing



PS C:\> $uri = "ManagedComputer[@Name='WWW']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
PS C:\> $Tcp = $wmi.GetSmoObject($uri)
PS C:\> $Tcp


Parent              : Microsoft.SqlServer.Management.Smo.Wmi.ServerInstance
DisplayName         : TCP/IP
HasMultiIPAddresses : True
IsEnabled           : True
IPAddresses         : {IP1, IP2, IP3, IP4...}
ProtocolProperties  : {Enabled, KeepAlive, ListenOnAllIPs}
Urn                 : ManagedComputer[@Name='WWW']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']
Name                : Tcp
Properties          : {Name=DisplayName/Type=System.String/Writable=False/Value=TCP/IP, Name=HasMultiIPAddresses/Type=System.Boolean/Writable=False/Value=True, Name=IsEnable
                      d/Type=System.Boolean/Writable=True/Value=True}
UserData            :
State               : Creating



PS C:\>

以上代码可以看到我们已经启用了tcp协议了,如果没有启用的话,可以看到IsEnabled : False, 这时候我们可以使用如下的语句进行更改:

PS C:\> $Tcp.IsEnabled = $true
PS C:\> $Tcp.Alter()
PS C:\> $Tcp


Parent              : Microsoft.SqlServer.Management.Smo.Wmi.ServerInstance
DisplayName         : TCP/IP
HasMultiIPAddresses : True
IsEnabled           : True
IPAddresses         : {IP1, IP2, IP3, IP4...}
ProtocolProperties  : {Enabled, KeepAlive, ListenOnAllIPs}
Urn                 : ManagedComputer[@Name='WWW']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']
Name                : Tcp
Properties          : {Name=DisplayName/Type=System.String/Writable=False/Value=TCP/IP, Name=HasMultiIPAddresses/Type=System.Boolean/Writable=False/Value=True, Name=IsEnable
                      d/Type=System.Boolean/Writable=True/Value=True}
UserData            :
State               : Creating

PS C:\>

到这里我们已经配置了SQL Servertcp协议了。但是需要注意的是,Tcp的连接端口是否配置了1433, 或者仅仅是使用动态端口,我们可以继续使用如下的命令查看:

PS C:\> $wmi.GetSmoObject($uri + "/IPAddress[@Name='IPAll']").IPAddressProperties


Name       : TcpDynamicPorts
Value      :
Type       : System.String
Writable   : True
Readable   : True
Expensive  : False
Dirty      : False
Retrieved  : True
IsNull     : False
Enabled    : False
Required   : False
Attributes : {}

Name       : TcpPort
Value      : 1433
Type       : System.String
Writable   : True
Readable   : True
Expensive  : False
Dirty      : False
Retrieved  : True
IsNull     : False
Enabled    : False
Required   : False
Attributes : {}

PS C:\>

我们这里看到该安装没有使用动态端口,静态端口已经是1433了。如果需要更改为其他端口,我们可以更改:

PS C:\> $wmi.GetSmoObject($uri + "/IPAddress[@Name='IPAll']").IPAddressProperties[1].Value="1445"
PS C:\> $wmi.GetSmoObject($uri + "/IPAddress[@Name='IPAll']").IPAddressProperties


Name       : TcpDynamicPorts
Value      :
Type       : System.String
Writable   : True
Readable   : True
Expensive  : False
Dirty      : False
Retrieved  : True
IsNull     : False
Enabled    : False
Required   : False
Attributes : {}

Name       : TcpPort
Value      : 1445
Type       : System.String
Writable   : True
Readable   : True
Expensive  : False
Dirty      : True
Retrieved  : True
IsNull     : False
Enabled    : False
Required   : False
Attributes : {}
PS C:\>

这样我们就端口更改到了1445了。

到这里我们就配置好了tcp协议以及端口。

命名管道的配置

采用如下的命令启用命名管道的配置:

PS C:\> $uri = "ManagedComputer[@Name='WWW']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"
PS C:\> $Np = $wmi.GetSmoObject($uri)
PS C:\> $Np


Parent              : Microsoft.SqlServer.Management.Smo.Wmi.ServerInstance
DisplayName         : Named Pipes
HasMultiIPAddresses : False
IsEnabled           : False
IPAddresses         : {}
ProtocolProperties  : {Enabled, PipeName}
Urn                 : ManagedComputer[@Name='WWW']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']
Name                : Np
Properties          : {Name=DisplayName/Type=System.String/Writable=False/Value=Named Pipes, Name=HasMultiIPAddresses/Type=System.Boolean/Writable=False/Value=False, Name=Is
                      Enabled/Type=System.Boolean/Writable=True/Value=False}
UserData            :
State               : Creating



PS C:\> $Np.IsEnabled = $true
PS C:\> $Np.Alter()
PS C:\> $Np


Parent              : Microsoft.SqlServer.Management.Smo.Wmi.ServerInstance
DisplayName         : Named Pipes
HasMultiIPAddresses : False
IsEnabled           : True
IPAddresses         : {}
ProtocolProperties  : {Enabled, PipeName}
Urn                 : ManagedComputer[@Name='WWW']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']
Name                : Np
Properties          : {Name=DisplayName/Type=System.String/Writable=False/Value=Named Pipes, Name=HasMultiIPAddresses/Type=System.Boolean/Writable=False/Value=False, Name=Is
                      Enabled/Type=System.Boolean/Writable=True/Value=True}
UserData            :
State               : Creating


PS C:\>

如上配置好了命名管道的连接方式。

开放防火墙

最后我们需要开放Windows Server Core上的防火墙,以便可以管理和使用该SQL Server:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 
#Enabling SQL Server Ports
New-NetFirewallRule -DisplayName "SQL Server" -Direction Inbound –Protocol TCP –LocalPort 1433 -Action allow
New-NetFirewallRule -DisplayName "SQL Admin Connection” -Direction Inbound –Protocol TCP –LocalPort 1434 -Action allow
New-NetFirewallRule -DisplayName "SQL Database Management” -Direction Inbound –Protocol UDP –LocalPort 1434 -Action allow
New-NetFirewallRule -DisplayName "SQL Service Broker” -Direction Inbound –Protocol TCP –LocalPort 4022 -Action allow
New-NetFirewallRule -DisplayName "SQL Debugger/RPC” -Direction Inbound –Protocol TCP –LocalPort 135 -Action allow
#Enabling SQL Analysis Ports
New-NetFirewallRule -DisplayName "SQL Analysis Services” -Direction Inbound –Protocol TCP –LocalPort 2383 -Action allow
New-NetFirewallRule -DisplayName "SQL Browser” -Direction Inbound –Protocol TCP –LocalPort 2382 -Action allow
#Enabling Misc. Applications
New-NetFirewallRule -DisplayName "HTTP” -Direction Inbound –Protocol TCP –LocalPort 80 -Action allow
New-NetFirewallRule -DisplayName "SSL” -Direction Inbound –Protocol TCP –LocalPort 443 -Action allow
New-NetFirewallRule -DisplayName "SQL Server Browse Button Service” -Direction Inbound –Protocol UDP –LocalPort 1433 -Action allow
#Enable Windows Firewall
Set-NetFirewallProfile -DefaultInboundAction Block -DefaultOutboundAction Allow -NotifyOnListen True -AllowUnicastResponseToMulticast True

当然您可以根据自己的实际情况考虑是否要开放所有的端口。

测试

最后使用sqlcmd对该数据库进行测试:

PS C:\> sqlcmd -H 127.0.0.1 -U sa
密码:
1> select name, database_id, create_date from sys.databases;
2> go
name                                                                                                                             database_id create_date
-------------------------------------------------------------------------------------------------------------------------------- ----------- -----------------------
master                                                                                                                                     1 2003-04-08 09:13:36.390
tempdb                                                                                                                                     2 2023-08-06 11:57:10.920
model                                                                                                                                      3 2003-04-08 09:13:36.390
msdb                                                                                                                                       4 2022-10-08 06:31:57.550
MyDB                                                                                                                                       5 2023-08-03 22:42:29.140

(5 行受影响)
1>

到这里就全部结束了。

 

 

SQL Server 安装程序可以根据系统默认输入和运行时输入生成配置文件。您可以使用配置文件以相同的配置在整个企业中部署 SQL Server。您还可以通过创建可启动 Setup.exe 的批处理文件,在整个企业中标准化手动安装。

本文针对 SQL Server 版本 2016 及更高版本进行维护。有关旧版本的 SQL Server,请参阅使用配置文件安装 SQL Server 2014

安装程序仅支持通过命令提示符使用配置文件。使用配置文件时参数的处理顺序概述如下:

  • 配置文件会覆盖软件包中的默认值

  • 命令行值会覆盖配置文件中的值

配置文件可用于跟踪每个安装的参数和值。这使得配置文件可用于验证和审计安装。

 提示

由于配置选项可能因版本而异,因此最好为每个新版本的 SQL Server 生成一个新版本。ConfigurationFile.ini

配置文件结构

该文件是一个文本文件,其中包含参数(名称/值对)和描述性注释。ConfigurationFile.ini

下面是一个文件示例:ConfigurationFile.ini

ini
; Microsoft SQL Server Configuration file
[OPTIONS]
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE.
; This is a required parameter.
ACTION="Install"
; Specifies features to install, uninstall, or upgrade.
; The list of top-level features include SQL, AS, and IS.
; The SQL feature will install the database engine, replication, and full-text.
FEATURES=SQL

如何生成配置文件

  1. 插入 SQL Server 安装媒体。在根文件夹中,双击 Setup.exe。要从网络共享安装,请在共享上找到根文件夹,然后双击 Setup.exe。

     注意

    SQL Server Express Edition 安装程序不会自动创建配置文件。以下命令将启动设置并创建配置文件。

    SETUP.exe /UIMODE=Normal /ACTION=INSTALL

  2. 按照向导一直到 Ready to Install 页面。配置文件的路径在 Ready to Install 页面的配置文件路径部分指定。有关如何安装 SQL Server 的更多信息,请参阅从安装向导 (安装程序) 安装 SQL Server

  3. 在不实际完成安装的情况下取消设置,以生成 INI 文件。

     注意

    设置基础设施会写出已运行作的所有适当参数,但密码等敏感信息除外。该参数也不会写出到配置文件中,并且需要修改配置文件或在命令提示符处提供值。有关详细信息,请参阅从命令提示符安装 SQL Server。此外,布尔参数还包括一个值,其中值通常不通过命令提示符提供。/IAcceptSQLServerLicenseTerms

从 SQL Server 2022 (16.x) 开始,请阅读 aka.ms/useterms Microsoft SQL Server 软件许可条款。

使用配置文件安装 SQL Server

您只能在命令行安装中使用配置文件。

 注意

如果您需要更改配置文件,建议您创建副本并使用该副本。

如何使用配置文件安装独立的 SQL Server 实例

  • 通过命令提示符运行安装,并使用参数提供。ConfigurationFile.iniConfigurationFile

如何使用配置文件准备和完成独立 SQL Server 实例的映像 (SysPrep)

  1. 准备一个或多个 SQL Server 实例并在同一台计算机上配置它们。

    • 从安装中心的 高级 页面运行 SQL Server 独立实例的映像准备,并捕获准备映像配置文件。

    • 使用与模板相同的 prepare image 配置文件来准备更多 SQL Server 实例。

    • 从安装中心的 Advanced 页面运行准备好的 SQL Server 独立实例的运行映像完成,以在计算机上配置准备好的实例。

  2. 使用 Windows SysPrep 工具准备作系统的映像,包括未配置的 SQL Server 的已准备好实例。

    • 从安装中心的 Advanced 页面运行 SQL Server 独立实例的映像准备,并捕获准备映像配置文件。

    • 从安装中心的 Advanced 页面运行准备好的 SQL Server 独立实例的 Image completion (映像完成),但在捕获完整的配置文件后,在 Ready to Complete (准备完成) 页面上取消它。

    • 完整的映像配置文件可以与 Windows 映像一起存储,以便自动配置准备好的实例。

如何使用配置文件安装 SQL Server 故障转移群集

  1. 集成安装选项(在节点上创建单节点故障转移群集,对于其他节点,请在其上运行):AddNode

    • 运行 “Install a Failover Cluster” 选项并捕获列出所有安装设置的配置文件。

    • 通过提供参数来运行命令行故障转移集群安装。ConfigurationFile

    • 在要添加的其他节点上,运行以捕获适用于现有故障转移群集的文件。AddNodeConfigurationFile.ini

    • 通过使用参数提供相同的配置文件,在将加入故障转移群集的所有其他节点上运行命令行 AddNode。ConfigurationFile

  2. 高级安装选项(在所有故障转移群集节点上准备故障转移群集,然后在准备所有节点后,在拥有共享磁盘的节点上运行 complete):

    • 在其中一个节点上运行 Prepare,然后捕获文件。ConfigurationFile.ini

    • 提供相同的文件,以便在将为故障转移群集准备的所有节点上运行安装程序。ConfigurationFile.ini

    • 准备好所有节点后,在拥有共享磁盘的节点上运行完整的故障转移群集作并捕获文件。ConfigurationFile.ini

    • 然后,您可以提供此文件以完成故障转移群集。ConfigurationFile.ini

如何使用配置文件向 SQL Server 故障转移群集添加或删除节点

  • 如果您有一个配置文件,该文件以前用于向故障转移集群添加节点或从中移除节点,则可以重复使用该文件来添加或删除其他节点。

如何使用配置文件升级 SQL Server 故障转移群集

  1. 在被动节点上运行 upgrade 并捕获文件。您可以通过执行实际升级来执行此作,也可以在最后退出而不执行实际升级。ConfigurationFile.ini

  2. 在要升级的所有其他节点上,提供文件以完成该过程。ConfigurationFile.ini

示例语法

以下是有关如何使用配置文件的一些示例:

  • 要在命令提示符处指定配置文件:
安慰
Setup.exe /ConfigurationFile=MyConfigurationFile.ini
  • 要在命令提示符处指定口令,而不是在配置文件中指定口令,请执行以下作:
安慰
Setup.exe /SQLSVCPASSWORD="************" /AGTSVCPASSWORD="************" /ASSVCPASSWORD="************" /ISSVCPASSWORD="************" /ConfigurationFile=MyConfigurationFile.ini

另请参阅

登录到 SQL Server 实例(命令提示符)

适用于: SQL Server

本主题介绍如何使用 sqlcmd 实用程序测试与 SQL Server 实例的连接。

登录到 SQL Server 的默认实例

  1. 在命令提示符下,输入以下命令以使用 Windows 身份验证进行连接:

    sqlcmd [ /E ] [ /S servername ]  

登录到 SQL Server 的命名实例

  1. 在命令提示符下,输入以下命令以使用 Windows 身份验证进行连接:

 

posted @ 2025-03-15 19:12  suv789  阅读(44)  评论(0)    收藏  举报