Azure 的 Windows 虚拟机上运行的 SQL Server 常见问题解答

本文提供有关在 Azure 的 Windows 虚拟机上运行 SQL Server 时出现的一些最常见问题的解答。

Note

本文重点阐述在 Windows VM 上运行 SQL Server 的特定问题。

如果本文未解决你的 Azure 问题,请访问 MSDN 和 CSDN 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。

映像

  1. 有哪些 SQL Server 虚拟机库映像可用?

    Azure 为所有 Windows 和 Linux 版本中的所有受支持 SQL Server 主要发行版维护虚拟机映像。 有关详细信息,请参阅 Windows VM 映像的完整列表。

  2. 现有的 SQL Server 虚拟机库映像是否会更新?

    每隔两个月,都会使用最新的 Windows 和 Linux 更新对虚拟机库中的 SQL Server 映像进行更新。 对于 Windows 映像,这包括 Windows 更新中标记为重要的任何更新,以及重要的 SQL Server 安全更新和 Service Pack。 对于 Linux 映像,这包括最新的系统更新。 Linux 和 Windows 的 SQL Server 累积更新以不同的方式进行处理。 对于 Linux,SQL Server 累积更新也包含在刷新中。 但目前,Windows VM 不会连同 SQL Server 或 Windows Server 累积更新一起更新。

  3. 是否可以从库中删除 SQL Server 虚拟机映像?

    是的。 Azure 只为每个主要版本维护一个映像。 例如,发布新的 SQL Server Service Pack 时,Azure 会将新映像添加到该 Service Pack 的库。 先前 Service Pack 的 SQL Server 映像将立即从 Azure 门户中删除。 但是,在接下来的三个月,仍可以通过 PowerShell 预配该映像。 三个月之后,先前的 Service Pack 映像不再可用。 如果 SQL Server 版本由于生命周期结束而不受支持,则也会应用此删除策略。

  4. 是否可以从 SQL Server VM 创建 VHD 映像?

    可以,但需注意以下事项。 如果将此 VHD 部署到 Azure 中的新 VM,则无法在门户网站中获取 SQL Server 配置部分。 此时必须通过 PowerShell 管理 SQL Server 配置选项。 此外,将会按该映像最初基于的 SQL VM 的费率进行计费。 即使在部署前已从 VHD 中删除 SQL Server,也是如此。

  5. 是否可以设置虚拟机库中未显示的配置(例如 Windows 2008 R2 + SQL Server 2012)?

    否。 对于包含 SQL Server 的虚拟机库映像,必须选择提供的映像之一。

创建

  1. 如何创建装有 SQL Server 的 Azure 虚拟机?

    最简单的解决方法是创建包含 SQL Server 的虚拟机。 有关注册 Azure 并从门户创建 SQL VM 的教程,请参阅在 Azure 门户中预配 SQL Server 虚拟机。 可选择使用按秒付费 SQL Server 许可的虚拟机映像,或者可以使用允许自带 SQL Server 许可证的映像。 此外,你也可以选用免费许可版(开发人员版或速成版),或通过重新使用本地许可证在 VM 上手动安装 SQL Server。 如果自带许可,必须在 Azure 上通过软件保障实现许可证移动性。 有关详细信息,请参阅 SQL Server Azure VM 定价指南

  2. 如何将本地 SQL Server 数据库迁转到云中?

    首先,请创建装有 SQL Server 实例的 Azure 虚拟机。 然后将本地数据库迁转到该实例。 有关数据迁移策略,请参阅 将 SQL Server 数据库迁移到 Azure VM 中的 SQL Server

许可

  1. 如何在 Azure VM 上安装 SQL Server 的许可版本?

    可通过两种方式来执行此操作。 可以预配支持许可证的虚拟机映像之一,也称为自带许可 (BYOL)。 另一种做法是将 SQL Server 安装媒体复制到 Windows Server VM,然后在该 VM 上安装 SQL Server。 但是,如果手动安装 SQL Server,则没有门户集成,并且不支持 SQL Server IaaS 代理扩展,因此“自动备份”和“自动修补”等功能在此方案中不起作用。 出于此原因,我们建议使用 BYOL 库映像之一。 要在 Azure VM 上使用 BYOL 或自己的 SQL Server 媒体,必须获得 Azure 上通过软件保障实现的许可移动性。 有关详细信息,请参阅 SQL Server Azure VM 定价指南

  2. 如果 Azure VM 仅供备用/故障转移,是否必须支持该 VM 上的 SQL Server 许可费?

    如果有虚拟机许可常见问题解答中所述的“软件保障”并且使用“许可证移动性”,则无需付费即可为在 HA 部署中作为被动次要副本参与的 SQL Server 授予许可。 否则,你需要付费才可为其授予许可。

  3. 我应该使用 BYOL 映像还是 SQL VM RP 来创建新的 SQL VM?

    仅自带许可 (BYOL) 映像可供 EA 客户使用。 其他有软件保障的客户应该使用 SQL VM 资源提供程序来创建包含 Azure 混合权益 (AHB) 的 SQL VM。

  4. 将 VM 注册到新的 SQL VM 资源提供程序是否需额外付费?

    否。 SQL VM 资源提供程序只是为 Azure VM 上的 SQL Server 启用更多的可管理性,不额外收费。

  5. SQL VM 资源提供程序是否适用于所有客户?

    是的。 所有客户都可以将 VM 注册到新的 SQL VM 资源提供程序。 但是,只有享受软件保障权益的客户能够在 SQL Server VM 上激活 Azure 混合权益 (AHB)(或 BYOL)。

  6. 如果移动或删除 VM 资源,* Microsoft.SqlVirtualMachine * 资源会发生什么情况?

    删除或移动 Microsoft.Compute/VirtualMachine 资源时,会通知关联的 Microsoft.SqlVirtualMachine 资源以异步方式复制此操作。

  7. 如果删除 * Microsoft.SqlVirtualMachine * 资源,VM 会发生什么情况?

    删除 Microsoft.SqlVirtualMachine 资源时,Microsoft.Compute/VirtualMachine 资源不受影响。 但是,许可更改会默认回退到原始的映像源。

  8. 是否可以将自行部署的 SQL Server VM 注册到 SQL VM 资源提供程序?

    是的。 如果从自己的媒体部署 SQL Server,并安装 SQL IaaS 扩展,则可将 SQL Server VM 注册到资源提供程序,以便获取 SQL IaaS 扩展提供的可管理性权益。 但是,不能将自行部署的 SQL VM 转换为即用即付。

管理

  1. 是否可以在同一 VM 上安装另一个 SQL Server 实例?是否可以更改默认实例的已安装功能?

    可以。 SQL Server 安装介质位于 C 驱动器上的某个文件夹中。 可从该位置运行 Setup.exe 添加新的 SQL Server 实例,或更改计算机上 SQL Server 的其他已安装功能。 请注意,某些功能(例如自动备份、自动修补和 Azure Key Vault 集成)仅对默认实例起作用。

  2. 是否可以卸载 SQL Server 的默认实例?

    可以,但需注意以下事项。 如前面的解答中所述,依赖于 SQL Server IaaS 代理扩展的功能仅对默认实例起作用。 卸载默认实例后,该扩展会继续查找默认实例并可能生成事件日志错误。 这些错误来自以下两个源:Microsoft SQL Server 凭据管理和 Microsoft SQL Server IaaS 代理。 其中一个错误可能类似于以下内容:

    建立与 SQL Server 的连接时,出现网络相关或特定于实例的错误。 找不到或无法访问服务器。

    如果决定卸载默认实例,还要卸载 SQL Server IaaS 代理扩展

  3. 是否可从 SQL VM 完全删除 SQL Server?

    是的,但仍将按照 SQL Server Azure VM 的定价指南收取 SQL VM 费用。 如果不再需要 SQL Server,可以部署新的虚拟机并将数据和应用程序迁移到新的虚拟机。 然后可以删除 SQL Server 虚拟机。

更新和修补

  1. 如何将 Azure VM 中的 SQL Server 升级到新版本?

    目前,对于在 Azure VM 中运行的 SQL Server,不提供就地升级。 因此,请使用所需的 SQL Server 版本创建新的 Azure 虚拟机,并使用标准 数据迁移技术将数据库迁移到新的服务器。

  2. 如何将更新和服务包应用于 SQL Server VM?

    虚拟机允许控制主机,包括应用更新的时间与方法。 对于操作系统,可以手动应用 Windows 更新,或者启用名为自动修补的计划服务。 自动修补将安装任何标记为重要的更新,包括该类别中的 SQL Server 更新。 必须手动安装其他可选的 SQL Server 更新。

常规

  1. Azure VM 是否支持 SQL Server 故障转移群集实例 (FCI)?

    是的。 可在 Windows Server 2016 上创建 Windows 故障转移群集 ,并将存储空间直通 (S2D) 用于群集存储。 或者,可使用第三方群集或存储解决方案,如 Azure 虚拟机中 SQL Server 的高可用性和灾难恢复中所述。

    Important

    目前,Azure 上的 SQL Server FCI 不支持 SQL Server IaaS 代理扩展。 建议从参与 FCI 的 VM 中卸载此扩展。 此扩展支持自动备份和修补之类的功能,以及适用于 SQL 的某些门户功能。 卸载代理以后,这些功能将不适用于 SQL VM。

  2. SQL VM 与 SQL 数据库服务之间的差别是什么?

    从概念上讲,在 Azure 虚拟机上运行 SQL Server 与在远程数据中心运行 SQL Server 并没什么不同。 相比之下, SQL 数据库 可提供数据库即服务。 使用 SQL 数据库时,无法访问托管数据库的计算机。 有关完整比较,请参阅选择云 SQL Server 选项:Azure SQL (PaaS) 数据库或 Azure VM 上的 SQL Server (IaaS)

  3. 如何在 Azure VM 上安装 SQL Data Tools?

    Microsoft SQL Server 数据工具 - Visual Studio 2013 商业智能下载并安装 SQL 数据工具。

资源

Windows VM

Linux VM