本文详细说明了使用 Azure 门户部署SQL Server on Azure Virtual Machines(VM)时可用的配置选项。 有关快速指南,请参阅 SQL Server VM 快速入门。
先决条件
Azure订阅。 创建一个试用版订阅,以开始使用。
选择市场映像
使用Azure Marketplace从虚拟机库中选择多个预配置的映像之一。
本文中使用开发人员版,因为它是开发测试SQL Server的完整功能免费版本。 只需支付运行 VM 的成本。 但是,你可以自由选择任何要在本演练中使用的图像。 有关可用映像的说明,请参阅 SQL Server Windows Virtual Machines 概述。
注意
SQL Server 2025 引入了单独的企业开发人员版和标准开发人员版SQL Server。
SQL Server的许可成本合并到所创建的 VM 的每秒定价中,并因版本和核心而异。 但是,SQL Server Developer Edition 免费用于开发和测试,但不适用于生产版。 此外,SQL Express 可免费用于轻型工作负载(1 GB 内存以内,10 GB 存储以内)。 还可以使用 Azure Hybrid Benefit 将 SQL Server 许可证用于 Azure VM 上的 SQL Server,并仅为 VM 付费。 有关这些选项的详细信息,请参阅 Azure SQL Server 虚拟机定价指南。
若要选择映像,请执行以下步骤:
转到 Azure SQL hub。 在 SQL Server on Azure Virtual Machines 窗格中,选择 显示选项。
在选择映像产品/服务框中,选择一个SQL Server映像(如 免费SQL Server许可证:适用于Windows Server 2025的SQL Server 2025企业开发版)。
选择“ 创建虚拟机”。
注意
SQL Server 2012 和 SQL Server 2014 已脱离主流支持,不再可从Azure Marketplace获得。
基本设置
警告
不支持将 tempdb 放置在具有未初始化临时磁盘的 Azure 虚拟机映像的本地临时磁盘上,例如 FXmdsv2。 此问题仅影响具有本地临时存储的新 NVMe 接口Azure Virtual Machines。 通过 Azure 门户进行这些部署可能会失败,SQL Server可能无法启动。 要么使用其他 VM 系列,要么在通过 Azure 门户部署 SQL Server 映像和手动安装 SQL Server 时,将 tempdb 放置在非临时存储上。 若要详细了解此问题,另请参阅受影响的 VM 列表,请查看 VM 部署和SQL Server故障。
可通过“基本信息”选项卡选择订阅、资源组和实例详细信息。
如果只是在测试或了解Azure中的SQL Server部署,则使用新资源组非常有用。 测试完成后,删除资源组会自动删除 VM 和与该资源组相关联的所有资源。 有关资源组的详细信息,请参阅 Azure Resource Manager 概述。
在“基本信息”选项卡中提供以下信息:
在“项目详细信息”下,确保选择了正确的订阅。
在“资源组”部分,从列表中选择现有资源组,或者选择“新建”来创建新的资源组 。 资源组是Azure(虚拟机、存储帐户、虚拟网络等)中相关资源的集合。
在 “实例详细信息”下:
- 输入唯一的虚拟机名称。
- 为“区域”选择一个位置。
- 为了达到本指南的目的,请将“可用性选项”保留设置为“无需基础结构冗余”。 有关可用性选项的详细信息,请参阅可用性。
- 在 Image 列表中,选择 免费 SQL Server 许可证:SQL Server 2019 开发者版(基于 Windows Server 2019),如果尚未选择的话。
- 对于“安全类型”,选择“标准”。
- 对于虚拟机“大小”,请选择“查看所有大小”,然后搜索“E4ds_v5”产品/服务。 这是Azure VM 上SQL Server建议的最低 VM 大小之一。 如果这是用于测试目的,请务必在用完资源后清理它们,以免产生任何意外的费用。 有关生产环境工作负载,请参阅《在 Azure 虚拟机上使用 SQL Server 的性能最佳实践》中推荐的机器大小和配置。
重要
选择大小窗口中显示的估计每月成本不包括SQL Server许可成本。 此预估费用只是 VM 的成本。 对于 SQL Server 的 Express 和 Developer 版本,此估算是估计的总成本。 有关其他版本,请参阅 Windows Virtual Machines 定价页并选择目标版本的SQL Server。 另请参阅 SQL Server Azure 虚拟机的定价指导 和 虚拟机的大小。
在“管理员帐户”下,提供用户名和密码。 密码必须至少 12 个字符长,且符合定义的复杂性要求。
在“入站端口规则”下,选择“允许所选端口”,然后从下拉列表中选择“RDP”(3389)。
您还可以选择启用 Azure Hybrid Benefit,这将为您在 Azure VM 上分配 SQL Server 许可证到 SQL Server 时提供折扣。
磁盘
在“磁盘”选项卡上配置磁盘选项。
- 在“OS 磁盘类型”下,从下拉列表选择要用于 OS 的磁盘类型。 建议将高级版用于生产系统,但不适用于基本 VM。 若要使用高级 SSD,请更改虚拟机大小。
- 在 Advanced 下,选择使用 Managed Disks 下的 Yes。
Azure推荐用于SQL Server的托管磁盘。 Managed Disks处理后台的存储。 此外,当具有Managed Disks的虚拟机位于同一可用性集中时,Azure分发存储资源以提供适当的冗余。 有关详细信息,请参阅 Azure Managed Disks 概述。 有关可用性集中托管磁盘的详细信息,请参阅在可用性集中的 VM 中使用托管磁盘。
网络
在“网络”选项卡上配置网络选项。
创建新的 虚拟网络或使用SQL Server VM 的现有虚拟网络。 另请指定一个子网。
在“NIC 网络安全组”下选择基本安全组或高级安全组。 通过选择基本选项,可以选择SQL Server VM 的入站端口,这些端口与在 Basic 选项卡上配置的相同值。选择高级选项允许您选择现有网络安全组或创建新端口。
可以对网络设置进行其他更改或保留默认值。
管理
在 “管理 ”选项卡上,配置监视。
- Azure 默认启用 Boot 诊断,并为 VM 指定相同的存储帐户。 在此选项卡上,可以更改这些设置并启用“OS 来宾诊断”。
- 您还可以在此选项卡上启用系统分配的托管标识。
SQL Server设置
在“SQL Server设置选项卡上,配置SQL Server的特定设置和优化。 可以为SQL Server配置以下设置:
连接
在 SQL 连接下,为此 VM 上的 SQL Server 实例指定所需的访问类型。 对于本演练,请选择 Public (internet)以允许从 Internet 上的计算机或服务连接到SQL Server。 选择此选项后,Azure会自动配置防火墙和网络安全组,以允许所选端口上的流量。
提示
默认情况下,SQL Server侦听已知端口1433。 为了提高安全性,请更改上一对话框中的端口,改成在非默认端口(例如 1401)上侦听。 如果更改了端口,则必须使用该端口通过任何客户端工具(例如 SQL Server Management Studio(SSMS))进行连接。
若要通过 Internet 连接到SQL Server,还必须启用SQL Server身份验证,下一部分将介绍该身份验证。
如果不想通过 Internet 启用与Database Engine的连接,请选择以下选项之一:
- Local(仅限 VM 内部)仅允许从 VM 内部连接到SQL Server。
- 专用(虚拟网络)以允许同一虚拟网络中的计算机或服务连接到 SQL Server。
一般情况下,选择方案允许的最严格连接可提高安全性。 但是,所有选项都可通过网络安全组(NSG)规则和 SQL/Windows 身份验证来保护这些选项。 可以在创建 VM 后编辑 NSG。 有关详细信息,请参阅 Azure 虚拟机中的 SQL Server 安全注意事项。
身份验证
如果需要 SQL Server 身份验证,请在 SQL Server 设置 选项卡上选择 SQL 身份验证 下的 启用。
注意
如果计划通过 Internet 访问SQL Server(公共连接选项),则必须在此处启用 SQL 身份验证。 对SQL Server的公共访问需要 SQL 身份验证。
如果启用SQL Server身份验证,请指定 Login name 和 Password。 此登录名配置为SQL Server身份验证登录名和 sysadmin 固定服务器角色的成员。 若要详细了解身份验证模式,请参阅选择身份验证模式。
如果不想启用SQL Server身份验证,可以使用 VM 上的本地管理员帐户连接到SQL Server实例。
Azure Key Vault集成
若要在Azure中存储安全机密进行加密,请选择SQL Server设置,然后向下滚动到 Azure 密钥保管库集成。 选择“启用”并填写所需的信息。
下表列出了配置 Azure Key Vault (AKV) 集成所需的参数。
| 参数 | Description | Example |
|---|---|---|
| Key Vault URL | 密钥保管库的位置。 | https://contosokeyvault.vault.azure.cn/ |
| 主体名称 | Microsoft Entra 服务主体名称。 该名称也称为客户端 ID。 | fde2b411-33d5-4e11-af04eb07b669ccf2 |
| 主体密码 | Microsoft Entra服务主体密钥。 该密码也称为客户端密码。 | 9VTJSQwzlFepD8XODnzy8n2V01Jd8dAjwm/azF1XDKM= |
| 凭据名称 | Credential 名称:AKV 集成在SQL Server中创建凭据,并允许 VM 访问密钥保管库。 为此凭据选择一个名称。 | mycred1 |
有关详细信息,请参阅 在 Azure VM 上为SQL Server配置Azure Key Vault集成。
存储配置
在SQL Server设置选项卡上的存储配置,选择更改配置打开配置存储页并指定存储要求。 可以选择保留默认值,也可以手动更改存储拓扑以满足 IOPS 需要。 有关详细信息,请参阅 存储配置。
在“数据存储”下,选择数据驱动器的位置、磁盘类型和磁盘数量。 也可选中该复选框以将系统数据库存储在数据驱动器(而不是本地 C:\ 驱动器)上。
在“日志存储”下,可以选择使用与事务日志文件的数据驱动器相同的驱动器,也可以从下拉列表中选择使用单独的驱动器。 也可选择驱动器的名称、磁盘类型和磁盘数量。
在“TempDb 存储”下配置 tempdb 数据库设置,例如数据库文件的位置,以及文件数目、初始大小和自动增长大小(以 MB 为单位)。
- 目前,在部署期间,最大文件数
tempdb为 8。 部署SQL Server VM 后,可以添加更多文件。 - 如建议的那样,如果在 D:本地 SSD 卷上配置 SQL Server 实例
tempdb,SQL IaaS 代理扩展将在重新配置时管理所需的文件夹和权限。
选择“确定”,保存存储配置设置。
SQL 实例设置
选择 Change SQL 实例设置可修改SQL Server配置选项,例如服务器排序规则、最大并行度(MAXDOP)、SQL Server最小和最大内存限制,以及是否要为即席工作负荷启用 optimize 选项。
SQL Server许可证
如果您是软件保障客户,可以通过使用 Azure Hybrid Benefit 来使用您自己的 SQL Server 许可证,从而节省资源。 选择 Yes 以启用Azure Hybrid Benefit,然后选中复选框确认你拥有软件保障。
如果选择免费许可映像(如开发人员版),则SQL Server许可选项变灰。
自动修补
自动修补 :默认处于启用状态。 自动修补允许Azure自动应用SQL Server和操作系统安全更新。 指定进行维护的具体日期(星期几)、时间和时长。 Azure在此维护时段执行修补。 维护时段计划使用 VM 区域设置。 如果不希望 Azure 自动修补 SQL Server 和操作系统,请选择 Disable。
<c1><c0><sb0>Azure 门户中 SQL VM 自动修补的屏幕截图。</sb0></c0></c1>
为了改进修补管理(还包括累积更新),请在SQL Server VM 完成部署后尝试集成的 Azure Update Manager 体验。
自动备份
在“自动备份” 下启用针对所有数据库的自动数据库备份。 默认情况下,自动备份处于禁用状态。
启用 SQL 自动备份以后,即可进行以下设置的配置:
- 备份保留期(最长 90 天)
- 存储帐户和存储容器,用于备份
- 备份的加密选项和密码
- 备份系统数据库
- 配置备份计划
若要加密备份,请选择“启用”。 然后指定密码。 Azure创建证书来加密备份,并使用指定的密码来保护该证书。
选择“选择存储容器”以指定要存储备份的容器。
默认情况下,会自动设置计划,但可以通过选择 “手动”来创建自己的计划。 这允许你配置备份频率、备份时间窗口和日志备份频率(以分钟为单位)。
有关详细信息,请参阅 Azure 虚拟机中的 SQL Server 自动备份。
机器学习服务
可以选择启用 Machine Learning Services。 使用此选项,可以在 SQL Server 2017 中将机器学习与 Python 和 R 配合使用。 在SQL Server设置窗口中选择Enable。 部署SQL Server VM 后,从 Azure 门户启用此功能将触发SQL Server服务的重启。
查看 + 创建
在“查看 + 创建”选项卡上:
- 查看摘要。
- 选择 Create 创建为此 VM 指定的SQL Server、资源组和资源。
可以从Azure门户监视部署。 屏幕顶部的“ 通知 ”按钮显示部署的基本状态。
注意
Azure部署SQL Server VM 的示例:使用默认设置预配到中国北部区域的测试SQL Server VM 大约需要 12 分钟才能完成。 根据你所在的区域和选择的设置,花费的部署时间可能会更长,也可能会更短。
使用 Bastion 打开 VM
使用以下步骤通过
创建并运行Azure虚拟机后,选择 Virtual machine,然后选择新的 VM。
选择 “连接 ”,然后从下拉列表中选择“ 通过 Bastion 进行连接 ”,转到 VM 的 Bastion 页。
选择 “部署 Bastion ”并等待该过程完成。
成功部署 Bastion 后,选择身份验证类型,输入身份验证详细信息,然后选择 “连接” :
可能需要禁用浏览器中的弹出阻止程序,才能在新浏览器选项卡中打开 Bastion 会话。
连接到SQL Server虚拟机后,可以使用本地管理员凭据启动SQL Server Management Studio并使用Windows身份验证进行连接。 如果启用了SQL Server身份验证,还可以使用预配期间配置的 SQL 登录名和密码连接到 SQL 身份验证。
通过访问计算机,可以根据要求直接更改计算机和SQL Server设置。 例如,可以配置防火墙设置或更改SQL Server配置设置。
远程连接到SQL Server
在本演练中,你为虚拟机选择了 Public 访问,并为 SQL Server 身份验证。 这些设置会自动将虚拟机配置为,允许通过 Internet 从任何客户端连接到 SQL Server,前提是它们具有正确的 SQL 登录信息。
以下部分演示如何通过 Internet 连接到 SQL Server VM 实例。
配置用于公共 IP 地址的 DNS 标签
若要从 Internet 连接到SQL Server Database Engine,请考虑为公共 IP 地址创建 DNS 标签。 可以通过 IP 地址进行连接,但 DNS 标签可以创建更容易标识的 A 记录,并可抽象基础性公共 IP 地址。
注意
如果计划仅在同一虚拟网络内或仅在本地连接到 SQL Server 实例,则不需要这些 DNS 标签。
若要创建 DNS 标签,请首先在门户中选择“虚拟机” 。 选择SQL Server VM 以显示其属性。
在虚拟机概述中,选择 公共 IP 地址。
在公共 IP 地址的属性中,展开“配置”。
输入 DNS 标签名称。 此名称是一条记录,可用于按名称而不是直接通过 IP 地址连接到SQL Server VM。
选择“ 保存 ”按钮。
从另一台计算机连接到Database Engine
在连接到 Internet 的计算机上,打开SQL Server Management Studio(SSMS)。 如果没有SQL Server Management Studio,可以下载它。
在 Connect 到 Server 或 Connect 到 Database Engine 对话框中,编辑 Server name 值。 输入虚拟机的 IP 地址或完整 DNS 名称(已在上一个任务中确定)。 还可以添加逗号并提供SQL Server的 TCP 端口。 例如,
tutorial-sqlvm1.chinaeast.cloudapp.chinacloudapi.cn,1433。在 Authentication 框中,选择 SQL Server Authentication。
在“登录” 框中,键入有效 SQL 登录的名称。
在“密码” 框中,键入登录的密码。
选择 连接。
注意
本示例使用常用端口 1433。 但是,如果在部署 SQL Server VM 期间指定了其他端口(如 1401),则需要修改此值。
已知问题
无法更改 SQL 二进制文件安装路径
从 Azure Marketplace 提供的 SQL Server 映像将 SQL Server 二进制文件安装到 C 驱动器。 当前无法在部署期间进行更改。 唯一可用的解决方法是从 VM 中手动卸载SQL Server,然后在安装过程中重新安装SQL Server并选择其他位置的二进制文件。