在 Server Core 安装上配置 SQL Server

适用于:Windows 上的 SQL Server

本文详细介绍如何在 Server Core 安装上配置 SQL Server。

在 Windows Server 上配置和管理 Server Core

本节提供帮助配置和管理 Server Core 安装的文章参考资料。

在 Server Core 模式下,部分 SQL Server 功能不受支持。 其中一些功能可以安装在客户端计算机或未运行 Server Core 的其他服务器上,并连接到服务器核心上安装的数据库引擎服务。

有关远程配置和管理 Server Core 安装的详细信息,请参阅以下文章:

安装 SQL Server 更新

本节提供有关在 Windows Server Core 计算机上安装 SQL Server 更新的信息。 我们建议客户及时评估和安装最新的 SQL Server 更新,以便确保系统保持最新并且具有最近的安全更新。 有关在 Windows Server Core 计算机上安装 SQL Server 的详细信息,请参阅在 Server Core 上安装 SQL Server

以下是安装产品更新的两个方案:

在新安装过程中安装 SQL Server 的更新

SQL Server 安装程序在 Server Core 操作系统上仅支持命令提示符安装。 有关详细信息,请参阅在 Windows 上使用命令提示符安装和配置 SQL Server

SQL Server 安装程序将最新的产品更新集成到主产品安装中,以便可以同时安装主产品及其适用的更新。

在找到最新版本的适用更新后,安装程序将下载这些更新并将其与当前的 SQL Server 安装过程集成在一起。 产品更新可请求累积更新、Service Pack 或者 Service Pack 连同累积更新。

指定 UpdateEnabled 和 UpdateSource 参数可以在主产品安装中包含最新的产品更新。 参考以下示例以便在 SQL Server 安装期间允许产品更新:

Setup.exe /qs /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /UpdateEnabled=True /UpdateSource="<SourcePath>" /IACCEPTSQLSERVERLICENSETERMS

对于 SQL Server 2022(16.x)及更高版本,请阅读 aka.ms/useterms Microsoft SQL Server 软件许可条款。

安装后为 SQL Server 安装更新

在 SQL Server的已安装实例上,我们建议您应用最新的安全更新和关键更新,包括常规分发发布 (GDR) 和 Service Pack (SP)。 单独的累积更新和安全更新应该根据需要逐案例采用。 评估更新。 如果需要,则应用该更新。

在命令提示符下应用更新,从而将 <package_name> 替换为更新包的名称:

  • 更新 SQL Server 的单个实例和所有共享组件。 您可以通过使用 InstanceName 参数或 InstanceID 参数指定实例。

    <package_name>.exe /qs /IAcceptSQLServerLicenseTerms /Action=Patch /InstanceName=MyInstance
    
  • 仅更新 SQL Server 共享组件:

    <package_name>.exe /qs /IAcceptSQLServerLicenseTerms /Action=Patch
    
  • 更新计算机上的所有 SQL Server 实例和所有共享组件:

    <package_name>.exe /qs /IAcceptSQLServerLicenseTerms /Action=Patch /AllInstances
    

启动和停止 SQL Server 服务

sqlservr Application 应用程序可以在命令提示符下启动、停止、暂停和继续 SQL Server 的实例。

您还可以使用 Net 服务启动和停止 SQL Server 服务。

启用 Always On 可用性组

启用 AlwaysOn 可用性组是服务器实例将可用性组用作高可用性和灾难恢复解决方案的一个先决条件。 有关管理 AlwaysOn 可用性组的详细信息,请参阅 启用或禁用 AlwaysOn 可用性组功能

远程使用 SQL Server Configuration Manager

这些步骤用于在运行 Windows 的客户端版的电脑上执行,或在安装了服务器图形 Shell 的 Windows Server 上运行。

  1. 打开计算机管理。 要打开计算机管理,请选择启动,键入 compmgmt.msc,然后选择确定

  2. 在控制台树中,右键单击计算机管理,再选择连接到另一台计算机...

  3. 选择计算机对话框中,键入想要管理的 Server Core 计算机名称或选择浏览进行查找,然后选择确定

  4. 在控制台树中,在 Server Core 计算机的计算机管理下,选择服务和应用程序

  5. 双击 SQL Server 配置管理器

  6. SQL Server 配置管理器中,选择 SQL Server 服务,右键单击 SQL Server (<实例名>)”,其中 <实例名> 是要启用 AlwaysOn 可用性组的本地服务器实例的名称,然后选择属性

  7. 选择“AlwaysOn 高可用性”选项卡。

  8. 验证“Windows 故障转移群集名称”字段包含本地故障转移群集节点的名称。 如果此字段为空,则此服务器实例当前不支持 AlwaysOn 可用性组。 本地计算机不是群集节点,WSFC 群集已关闭,或者此版本的 SQL Server 不支持 AlwaysOn 可用性组。

  9. 选中“ 启用 AlwaysOn 可用性组 ”复选框,然后选择“ 确定”。

  10. SQL Server 配置管理器保存您的更改。 然后,必须手动重新启动 SQL Server 服务。 这使您可以选择最适合您的业务要求的重新启动时间。 当 SQL Server 服务重启时,将启用可用性组,并将 IsHadrEnabled 服务器属性设置为 1

注意

  • 您在目标计算机上必须具有相应的用户权限或被委托了相应的授权才能连接到该计算机。
  • 要管理的计算机的名称显示在控制台树中计算机管理旁边的括号中。

使用 PowerShell cmdlet 启用可用性组

PowerShell cmdlet Enable-SqlAlwaysOn 用于在 SQL Server 实例上启用 AlwaysOn 可用性组。 如果当 SQL Server 服务正在运行时启用 AlwaysOn 可用性组功能,则必须重新启动数据库引擎服务才能完成更改。 除非你指定 -Force 参数,否则,cmdlet 将询问你是否要重新启动服务;如果取消,将不会发生任何操作。

您必须拥有管理员权限才能执行此 cmdlet。

可以使用以下语法之一来为 SQL Server 实例启用 AlwaysOn 可用性组:

Enable-SqlAlwaysOn [-Path <string>] [-Credential <PSCredential>] [-Force] [-NoServiceRestart] [-Confirm] [-WhatIf] [<Common Parameters>]
Enable-SqlAlwaysOn -InputObject <Server> [-Credential <PSCredential>] [-Force] [-NoServiceRestart] [-Confirm] [-WhatIf] [<Common Parameters>]
Enable-SqlAlwaysOn [-ServerInstance <string>] [-Credential <PSCredential>] [-Force] [-NoServiceRestart] [-Confirm] [-WhatIf] [<Common Parameters>]

以下 PowerShell 命令在 SQL Server 实例 (Machine\Instance) 上启用 AlwaysOn 可用性组:

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Machine\Instance

配置在 Server Core 上运行的 SQL Server 的远程访问

执行以下作来配置在 Windows Server Core 上运行的 SQL Server 实例的远程访问。

在 SQL Server 实例上启用远程连接

若要启用远程连接,请在本地使用 sqlcmd ,并针对 Server Core 实例执行以下语句:

EXEC sys.sp_configure N'remote access', N'1';
GO

RECONFIGURE WITH OVERRIDE
GO

启用并启动 SQL Server Browser 服务

默认情况下,Browser 服务是禁用的。 如果在 Server Core 上运行的 SQL Server 实例禁用了该服务,请从命令提示符运行以下命令来启用它:

sc config SQLBROWSER start=auto

启用服务后,从命令提示符运行以下命令以启动服务:

net start SQLBROWSER

在 Windows 防火墙中创建例外

若要为 Windows 防火墙中的 SQL Server 访问创建例外,请按照 配置 Windows 防火墙中指定的步骤允许 SQL Server 访问

在 SQL Server 实例上启用 TCP/IP

可以在 Server Core 上通过 Windows PowerShell 为 SQL Server 实例启用 TCP/IP 协议。 执行以下步骤:

  1. 在运行 Windows Server Core 的计算机上,启动任务管理器

  2. 应用程序选项卡上,选择新建任务

  3. 新建任务对话框上的打开字段中键入 sqlps.exe,然后选择确定。 这将打开 Microsoft SQL Server Powershell 窗口。

  4. Microsoft SQL Server Powershell 窗口中,运行以下脚本以启用 TCP/IP 协议:

$smo = 'Microsoft.SqlServer.Management.Smo.'
$wmi = new-object ($smo + 'Wmi.ManagedComputer')
# Enable the TCP protocol on the default instance.  If the instance is named, replace MSSQLSERVER with the instance name in the following line.
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
$Tcp = $wmi.GetSmoObject($uri)
$Tcp.IsEnabled = $true
$Tcp.Alter()
$Tcp

SQL Server Profiler

在远程计算机上,启动 SQL Server Profiler 并从“文件”菜单中选择“新建跟踪”。 应用程序将显示“ 连接到服务器 ”对话框,可在其中指定要连接到的服务器核心计算机上的 SQL Server 实例。 有关详细信息,请参阅 运行 SQL Server Profiler

有关运行 SQL Server Profiler 所需的权限的详细信息,请参阅 运行 SQL Server Profiler 所需的权限

有关 SQL Server Profiler 的详细信息,请参阅 SQL Server Profiler

SQL Server 审核

可以远程使用 SQL Server Management Studio 或 Transact-SQL 定义审核。 在创建并启用审核后,目标将接收各项。 有关创建和管理 SQL Server 审核的详细信息,请参阅 SQL Server 审核(数据库引擎)

命令行实用程序

可以使用以下命令提示实用工具,它们允许您在 Server Core 计算机上为 SQL Server 操作编写脚本。 下表包含了随 SQL Server 提供的用于 Server Core 的命令提示实用工具列表:

效用 DESCRIPTION 安装位置
bcp 用于在 Microsoft SQL Server 实例和用户指定格式的数据文件之间复制数据。 < 驱动器:\Program Files\Microsoft SQL Server\nnn\Tools\Binn>
dtexec 用于配置和执行 Integration Services 包。 < 驱动器>:\Program Files\Microsoft SQL Server\nnn\DTS\Binn
dtutil 用于管理 SSIS 包。 < 驱动器>:\Program Files\Microsoft SQL Server\nnn\DTS\Binn
osql 你可以在命令提示符下输入 Transact-SQL 语句、系统过程和脚本文件。 < 驱动器:\Program Files\Microsoft SQL Server\nnn\Tools\Binn>
sqlagent 用于在命令提示符下启动 SQL Server 代理。 <驱动器>:\Program Files\Microsoft SQL Server\<instance_name\MSSQL\Binn>
sqlcmd 你可以在命令提示符下输入 Transact-SQL 语句、系统过程和脚本文件。 < 驱动器:\Program Files\Microsoft SQL Server\nnn\Tools\Binn>
SQLdiag 用于为 Microsoft 客户服务和支持部门收集诊断信息。 < 驱动器:\Program Files\Microsoft SQL Server\nnn\Tools\Binn>
sqlmaint 用于执行在早期版本的 SQL Server中创建的数据库维护计划。 <drive>:\Program Files\Microsoft SQL Server\MSSQL14\MSSQLSERVER\MSSQL\Binn
sqlps 用于运行 PowerShell 命令和脚本。 加载和注册 SQL Server PowerShell 提供程序和 cmdlet。 < 驱动器:\Program Files\Microsoft SQL Server\nnn\Tools\Binn>
sqlservr 用于在命令提示符下启动和停止 数据库引擎 实例以进行故障排除。 <drive>:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn

使用故障排除工具

可以使用 SQLdiag 从 SQL Server 和其他类型的服务器收集日志和数据文件。 使用此信息监视服务器随时间推移或排查服务器的特定问题。 SQLdiag 用于加快和简化为 Microsoft 客户支持服务部门收集诊断信息的过程。

可以使用 SQLdiag 实用工具中指定的语法在服务器核心上的管理员命令提示符上启动该实用工具。