在 Azure VM 上预配 SQL Server(Azure 门户)

适用于:Azure 上的 SQL Server

本文将详细介绍使用 Azure 门户在 Azure 虚拟机 (VM) 上部署 SQL Server 时可用的配置选项。 如需快速指南,另请参阅 SQL Server VM 快速入门

先决条件

Azure 订阅。 创建一个试用版订阅,以开始使用。

选择市场映像

使用 Azure 市场从虚拟机库中选择几个预先配置的映像之一。

本文使用 Developer(开发人员)版,因为该版本是 SQL Server 的完整功能版本,并且可免费用于开发测试。 只需支付运行 VM 的成本。 但是,本教程中使用的映像可随意选择。 有关可用映像的说明,请参阅 SQL Server Microsoft 虚拟机概述

SQL Server 的许可费用包含在所创建的 VM 的每秒定价中,并随版本和内核而有所不同。 但是,SQL Server Developer 版本可免费用于开发和测试(不可用于生产)。 此外,SQL Express 可免费用于轻型工作负载(1 GB 内存以内,10 GB 存储以内)。 还可选择自带许可 (BYOL),只支付 VM 费用。 这些映像名称的前缀为 {BYOL}。 有关这些选项的详细信息,请参阅 SQL Server Azure VM 定价指南

若要选择映像,请执行以下步骤:

  1. 在 Azure 门户的左侧菜单中选择“Azure SQL”。 如果 Azure SQL 不在列表中,请选择“所有服务”,然后在搜索框中键入“Azure SQL”。 可以选择“Azure SQL”旁边的星号将其保存到收藏夹,并将其固定到左侧导航栏中。

  2. 选择“+ 创建”以打开“选择 SQL 部署选项”页。 选择“映像”下拉列表,然后在 SQL Server 映像搜索框中键入“2019”。 从下拉列表中选择一个 SQL Server 映像,例如“免费 SQL Server 许可证: 基于 Windows Server 2019 的 SQL 2019”。 选择“显示详细信息”以获取有关映像的其他信息。

    Screenshot from the Azure portal of the select a SQL VM image deployment option.

  3. 选择“创建”。

注意

SQL Server 2008 和 SQL Server 2008 R2 已停止外延支持,并且 Azure 市场不再提供。

基本设置

可通过“基本信息”选项卡选择订阅、资源组和实例详细信息。

如果只是测试或了解 Azure 中的 SQL Server 部署,使用新的资源组很有帮助。 测试完成后,删除资源组会自动删除 VM 和与该资源组相关联的所有资源。 有关资源组的详细信息,请参阅 Azure 资源管理器概述

在“基本信息”选项卡中提供以下信息:

  • 在“项目详细信息”下,确保选择了正确的订阅。
  • 在“资源组”部分,从列表中选择现有资源组,或者选择“新建”来创建新的资源组 。 资源组是 Azure(虚拟机、存储帐户、虚拟网络等)中相关资源的集合。

Screenshot from the Azure portal of the Create a virtual machine page, starting with the Subscription field.

  • 在“实例详细信息”下:

    1. 输入唯一的虚拟机名称。
    2. 为“区域”选择一个位置。
    3. 为了达到本指南的目的,请将“可用性选项”保留设置为“无需基础结构冗余”。 有关可用性选项的详细信息,请参阅可用性
    4. 在“映像”列表中,选择“免费 SQL Server 许可证: Windows Server 2019 上的 SQL Server 2019 Developer”(如果尚未选择)。
    5. 对于“安全类型”,选择“标准”。
    6. 对于虚拟机“大小”,请选择“查看所有大小”,然后搜索“E4ds_v5”产品/服务。 这是推荐使用的 Azure VM 上适用于 SQL Server 的最小 VM 之一。 如果这是用于测试目的,请务必在用完资源后清理它们,以免产生任何意外的费用。 对于生产工作负荷,请参阅 Azure 虚拟机中 SQL Server 的性能最佳做法中建议的计算机大小和配置。

    Screenshot from the Azure portal of instance details for a new SQL VM.

重要

在“选择大小”窗口中显示的每月估计成本不包括 SQL Server 许可成本。 此预估费用只是 VM 的成本。 对于 SQL Server 的 Express 和开发人员版本,这是估计的总成本。 对于其他版本,请参阅“Windows 虚拟机定价”页并选择 SQL Server 的目标版本。 另请参阅 SQL Server Azure VM 的定价指南虚拟机的大小

  • 在“管理员帐户”下,提供用户名和密码。 密码必须至少 12 个字符长,且符合定义的复杂性要求

    Screenshot from the Azure portal of the Administrator account fields.

  • 在“入站端口规则”下,选择“允许所选端口”,然后从下拉列表中选择“RDP (3389)”。

    Screenshot from the Azure portal of inbound port rules.

也可选择启用“Azure 混合权益”选项以使用自己的 SQL Server 许可证,从而节省许可成本。

磁盘

在“磁盘”选项卡上配置磁盘选项。

  • 在“OS 磁盘类型”下,从下拉列表选择要用于 OS 的磁盘类型。 建议为生产系统使用高级版,但高级版不适合用于基本 VM。 若要使用高级 SSD,请更改虚拟机大小。
  • 在“高级”的“使用托管磁盘”下,选择“是” 。

Azure 建议为 SQL Server 使用托管磁盘。 托管磁盘在后台处理存储。 此外,当使用托管磁盘的虚拟机位于同一可用性集中时,Azure 会分发存储资源以提供适当冗余。 有关详细信息,请参阅 Azure 托管磁盘概述。 有关可用性集中托管磁盘的具体信息,请参阅为可用性集中的 VM 使用托管磁盘

网络

在“网络”选项卡上配置网络选项。

  • 为 SQL Server VM 创建新的虚拟网络,或使用现有虚拟网络。 同时指定子网。

  • 在“NIC 网络安全组”下选择基本安全组或高级安全组。 通过选择“基本”选项可为 SQL Server VM 选择入站端口(与在“基本”选项卡上配置的值相同)。通过选择“高级”选项卡可选择现有网络安全组或创建新的安全组。

  • 你可以对网络设置进行其他更改,也可以保留默认值。

管理

在“管理”选项卡上配置监视和自动关闭。

  • 默认情况下,Azure 会对为 VM 指定的同一个存储帐户启用“启动诊断”。 在此选项卡上,可以更改这些设置并启用“OS 来宾诊断”。
  • 还可以在该选项卡上启用“系统分配的托管标识”。

SQL Server 设置

在“SQL Server 设置”选项卡上,配置 SQL Server 的特定设置和优化。 你可以为 SQL Server 配置以下设置:

连接

在“SQL 连接” 下,指定要对此 VM 上的 SQL Server 实例进行的访问类型。 对于本演示,请选择“公共(Internet)”以允许从 Internet 上的计算机或服务连接到 SQL Server。 选择此选项以后,Azure 会自动将防火墙和网络安全组配置为允许在所选端口上通信。

提示

SQL Server 默认在已知端口 1433 上侦听。 为了提高安全性,请更改上一对话框中的端口,改成在非默认端口(例如 1401)上侦听。 如果更改端口,则必须在任何客户端工具(例如 SQL Server Management Studio (SSMS))中使用该端口进行连接。

Screenshot from the Azure portal of SQL VM Security.

若要通过 Internet 连接到 SQL Server,还必须启用下一部分中所述的“SQL Server 身份验证”。

如果不希望启用通过 Internet 连接到数据库引擎这一功能,可选择以下选项之一:

  • 本地(仅在 VM 中) :仅允许从 VM 内部连接到 SQL Server。
  • 私有(虚拟机内) :允许从同一虚拟网络中的虚拟机或服务连接到 SQL Server。

一般情况下,选择方案允许的最严格连接可提高安全性。 但是,通过网络安全组 (NSG) 规则和 SQL/Windows 身份验证的所有选项都是安全的。 可以在创建 VM 后编辑 NSG。 有关详细信息,请参阅 Azure 虚拟机中 SQL Server 的安全注意事项

身份验证

如果需要 SQL Server 身份验证,请在“SQL Server 设置”选项卡上的“SQL 身份验证”下选择“启用”。

Screenshot from the Azure portal of the SQL Server authentication options enabled.

注意

如果计划通过 Internet 来访问 SQL Server(“公共”连接选项),则必须在此处启用 SQL 身份验证。 对 SQL Server 进行公共访问需要 SQL 身份验证。

如果启用 SQL Server 身份验证,请指定“登录名”和“密码”。 此登录名配置为 SQL Server 身份验证登录名和 sysadmin 固定服务器角色的成员。 若要详细了解身份验证模式,请参阅选择身份验证模式

如果不想启用 SQL Server 身份验证,可以在 VM 上使用本地管理员帐户连接到 SQL Server 实例。

Azure 密钥保管库集成

若要将安全密码存储在 Azure 中进行加密,请选择“SQL Server 设置”,然后向下滚动到“Azure 密钥保管库集成”。 选择“启用”并填写所需的信息。

Screenshot from the Azure portal of Azure Key Vault integration.

下表列出了配置 Azure Key Vault (AKV) 集成所需的参数。

参数 DESCRIPTION 示例
密钥保管库 URL 密钥保管库的位置。 https://contosokeyvault.vault.azure.cn/
主体名称 Microsoft Entra 服务主体名称。 该名称也称为客户端 ID。 fde2b411-33d5-4e11-af04eb07b669ccf2
主体密码 Microsoft Entra 服务主体机密。 该密码也称为客户端密码。 9VTJSQwzlFepD8XODnzy8n2V01Jd8dAjwm/azF1XDKM=
凭据名称 凭据名称:AKV 集成在 SQL Server 内创建一个凭据,并允许 VM 访问密钥保管库。 为此凭据选择一个名称。 mycred1

有关详细信息,请参阅 为 Azure VM 上的 SQL Server 配置 Azure 密钥保管库集成

存储配置

在“SQL Server 设置”选项卡的“存储配置”下,选择“更改配置”以打开“配置存储”页面并指定存储要求 。 可以选择保留默认值,也可以手动更改存储拓扑以满足 IOPS 需要。 有关详细信息,请参阅存储配置

Screenshot that highlights where you can change the storage configuration.

在“数据存储”下,选择数据驱动器的位置、磁盘类型和磁盘数量。 也可选中该复选框以将系统数据库存储在数据驱动器(而不是本地 C:\ 驱动器)上。

Screenshot that shows where you can configure the data files storage for your SQL VM.

在“日志存储”下,可以选择使用与事务日志文件的数据驱动器相同的驱动器,也可以从下拉列表中选择使用单独的驱动器。 也可选择驱动器的名称、磁盘类型和磁盘数量。

Screenshot that shows where you can configure the transaction log storage for your SQL VM.

在“TempDb 存储”下配置 tempdb 数据库设置,例如数据库文件的位置,以及文件数目、初始大小和自动增长大小(以 MB 为单位)。

  • 目前,在部署期间,tempdb 文件的最大数目为 8,但在部署 SQL Server VM 后可以添加更多文件。
  • 如果按照建议在 D: 本地 SSD 卷上配置 SQL Server 实例 tempdb,则 SQL IaaS 代理扩展将在重新预配时管理所需的文件夹和权限。

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

选择“确定”,保存存储配置设置。

SQL 实例设置

选择“更改 SQL 实例设置”以修改 SQL Server 配置选项,例如服务器排序规则、最大并行度 (MAXDOP)、SQL Server 最小和最大内存限制,以及是否要启用“针对即席工作负载进行优化”选项。

Screenshot that shows where you can configure the SQL Server settings for your SQL VM instance.

SQL Server 许可证

如果你是软件保障客户,则可以使用 Azure 混合权益,使用自己的 SQL Server 许可证并节省资源。 选择“是”以启用 Azure 混合权益,然后通过选中该复选框确认你拥有软件保障。

Screenshot from the Azure portal of the SQL VM License options.

如果选择免费许可证映像,例如开发者版本,“SQL Server 许可证”选项将灰显。

自动修补

自动修补 :默认处于启用状态。 Azure 可通过自动修补来自动应用 SQL Server 和操作系统安全更新。 指定进行维护的具体日期(星期几)、时间和时长。 Azure 会在维护时段进行修补。 维护时段计划使用 VM 区域设置。 如果不希望 Azure 自动修补 SQL Server 和操作系统,请选择“禁用”。

Screenshot from the Azure portal of SQL VM automated patching.

有关详细信息,请参阅 Azure 虚拟机中 SQL Server 的自动修补

自动备份

在“自动备份” 下启用针对所有数据库的自动数据库备份。 默认情况下,自动备份处于禁用状态。

启用 SQL 自动备份以后,即可进行以下设置的配置:

  • 备份保留期(最长 90 天)
  • 用于备份的存储帐户和存储容器
  • 备份的加密选项和密码
  • 备份系统数据库
  • 配置备份计划

若要加密备份,请选择“启用”。 然后指定密码。 Azure 创建一个证书来加密备份,并使用指定的密码来保护该证书。

选择“选择存储容器”以指定要存储备份的容器。

默认情况下,计划是自动设置的,但你可以通过选择“手动”来创建自己的计划,这样就可以配置备份频率、备份时间窗口和日志备份频率(以分钟为单位)。

Screenshot from the Azure portal of SQL VM automated backups.

有关详细信息,请参阅 针对 Azure 虚拟机中 SQL Server 的自动备份

机器学习服务

可以选择启用机器学习服务。 通过此选项可以在 SQL Server 2017 中将机器学习与 Python 和 R 结合使用。 在“SQL Server 设置”窗口中选择“启用” 。 部署 SQL Server VM 后,从 Azure 门户启用此功能将触发 SQL Server 服务的重启。

查看 + 创建

在“查看 + 创建”选项卡上:

  1. 查看摘要。
  2. 选择“创建”以创建为此 VM 指定的 SQL Server、资源组和资源。

可以从 Azure 门户监视部署情况。 屏幕顶部的“ 通知 ”按钮显示部署的基本状态。

注意

使用 Azure 部署 SQL Server VM 的时间示例:使用默认设置将测试 SQL Server VM 预配到中国北部区域大约需要 12 分钟才能完成。 根据你所在的区域和选择的设置,花费的部署时间可能会更长,也可能会更短。

使用远程桌面打开 VM

使用以下步骤通过远程桌面协议 (RDP) 连接到 SQL Server 虚拟机:

  1. 创建并运行 Azure 虚拟机后,选择“虚拟机”,然后选择新的 VM。

  2. 选择“连接”,然后从下拉列表中选择“RDP”以下载 RDP 文件。

    Connect to VM in portal

  3. 打开浏览器为 VM 下载的 RDP 文件。

  4. “远程桌面连接”会通知你,无法识别此远程连接的发布者。 单击“ 连接 ”以继续。

  5. 在“Windows 安全性”对话框中,单击“使用其他帐户”。 可能需要单击“更多选项”才能看到此内容。 指定在创建 VM 时配置的用户名和密码。 必须在用户名之前添加反斜杠。

    Remote desktop authentication

  6. 单击“确定”进行连接。

连接到 SQL Server 虚拟机以后,即可启动 SQL Server Management Studio 并使用本地管理员凭据通过 Windows 身份验证进行连接。 如果已启用 SQL Server 身份验证,也可以使用在预配期间配置的 SQL 登录名和密码来配合 SQL 身份验证进行连接。

通过访问计算机,可以根据要求直接更改计算机和 SQL Server 设置。 例如,可以配置防火墙设置或更改 SQL Server 配置设置。

远程连接到 SQL Server

在本演示中,选择了虚拟机的“公共”访问权限和“SQL Server 身份验证”。 这些设置将虚拟机自动配置为允许任何客户端通过 Internet 来与 SQL Server 建立连接(假设这些客户端可提供正确的 SQL 登录名)。

以下部分说明如何通过 Internet 连接到 SQL Server VM 实例。

配置用于公共 IP 地址的 DNS 标签

若要从 Internet 连接到 SQL Server 数据库引擎,请考虑创建用于公共 IP 地址的 DNS 标签。 可以通过 IP 地址进行连接,但 DNS 标签可以创建更容易标识的 A 记录,并可抽象基础性公共 IP 地址。

注意

如果打算只连接到同一虚拟网络中的 SQL Server 实例,或者只进行本地连接,则 DNS 标签不是必需的。

若要创建 DNS 标签,请首先在门户中选择“虚拟机” 。 选择要显示其属性的 SQL Server VM。

  1. 在虚拟机概览中,选择“公共 IP 地址”

    public ip address

  2. 在公共 IP 地址的属性中,展开“配置”

  3. 输入 DNS 标签名称。 此名称是一种可通过名称而非 IP 地址直接连接到 SQL Server VM 的 A 记录。

  4. 选择“保存”按钮。

    dns label

从其他计算机连接到数据库引擎

  1. 在连接到 Internet 的计算机上,打开 SQL Server Management Studio (SSMS)。 如果没有 SQL Server Management Studio,可以从此处下载。

  2. 在“连接到服务器”或“连接到数据库引擎”对话框中,编辑“服务器名称”值 。 输入虚拟机的 IP 地址或完整 DNS 名称(已在上一个任务中确定)。 也可添加逗号并提供 SQL Server 的 TCP 端口。 例如,tutorial-sqlvm1.chinaeast.cloudapp.chinacloudapi.cn,1433

  3. 在“身份验证”框中,选择“SQL Server 身份验证” 。

  4. 在“登录” 框中,键入有效 SQL 登录的名称。

  5. 在“密码” 框中,键入登录的密码。

  6. 选择“连接” 。

    ssms connect

注意

本示例使用常用端口 1433。 但是,如果在部署 SQL Server VM 过程中指定了其他端口(例如 1401),则需修改此值。

已知问题

我无法更改 SQL 二进制文件安装路径

来自 Azure 市场的 SQL Server 映像将 SQL Server 二进制文件安装到 C 驱动器。 目前无法在部署期间更改此设置。 唯一可用的解决方法是从 VM 中手动卸载 SQL Server,然后重新安装 SQL Server,并在安装过程中为二进制文件选择其他位置。