就地更改 SQL Server 发行版本 - Azure VM 上的 SQL Server

适用于:Azure VM 上的 SQL Server

本文介绍如何更改 Azure 中 Windows 虚拟机 (VM) 上的 Microsoft SQL Server 版本。

规划版本升级

升级 SQL Server 发行版本之前,请考虑以下先决条件:

  1. 确定要升级到哪个发行版本的 SQL Server:

  2. 建议检查更新版本的兼容性认证,以便可以使用数据库兼容模式来最大程度地降低升级的影响。

  3. 阅读下文,成功升级:

先决条件

若要就地升级 SQL Server ,需要满足以下条件:

  • SQL Server 安装介质。 如果客户有软件保障,则可以从批量许可中心获取其安装介质。 没有软件保障的客户可以使用所需发行版本的 SQL Server 部署 Azure 市场 SQL Server VM 映像,然后将安装介质(通常位于 C:\SQLServerFull)复制到其目标 SQL Server VM。
  • 版本升级应遵循支持升级路径

删除扩展

在修改 SQL Server 版本之前,请务必从 SQL Server VM 中删除 SQL IaaS 代理扩展。 可以使用 Azure 门户、PowerShell 或 Azure CLI 执行此操作。

若要使用 Azure PowerShell 从 SQL Server VM 中删除扩展,请使用以下示例命令:

Remove-AzSqlVM -ResourceGroupName <resource_group_name> -Name <SQL VM resource name>

升级 SQL 版本

警告

升级 SQL Server 版本将重新启动 SQL Server 的服务,以及任何关联的服务,如 Analysis Services 和 R Services。

若要升级 SQL Server 版本,请获取升级版本适用的 SQL Server 安装介质,它可支持 SQL Server 升级路径,然后完成以下步骤:

  1. 在开始此过程之前,请先备份数据库,包括系统数据库(tempdb 除外)和用户数据库。 此外,还可以使用 Azure 备份服务创建与应用程序一致的 VM 级别备份。

  2. 从 SQL Server 安装介质启动 Setup.exe。

  3. 安装向导将运行 SQL Server 安装中心。 若要升级 SQL Server 的现有实例,请在导航窗格中选择安装,然后选择从较低版本的 SQL Server 升级

    用于升级 SQL Server 版本的选择。

  4. 产品密钥页上,选择相应的选项,指示你是升级到 SQL Server 免费版次,还是你拥有该产品生产版本的 PID 密钥。 有关详细信息,请参阅 SQL Server 2019 (15.x) 的版次和支持功能以及支持的版本和版次升级 (SQL Server 2016)

  5. 选择下一步,直至转到准备升级页,然后选择升级。 在更改生效之前,安装窗口可能会停止响应几分钟。 完成页将确认版本升级已完成。 有关升级的分步过程,请参阅完整步骤

    完成页面。

如果除了更改了 SQL Server 版本外,还更改了其版次,则需更新版次,并参考“在门户中验证版本和版次”部分来更改 SQL VM 实例。

更改版本元数据。

降级 SQL Server 版本

若要降级 SQL Server 的版本,需要完全卸载 SQL Server,然后再次安装所需版本。 这类似于全新安装 SQL Server,因为无法将更高版本中的早期数据库恢复到新安装的较低版本中。 必须从头开始重建数据库。 如果在升级过程中还更改了 SQL Server 的版次,则将 Azure 门户中 SQL Server VM 的版次属性更改为新版次值。 这将更新与此 VM 关联的元数据和计费。

警告

不支持 SQL Server 就地降级。

可以按照以下步骤降级 SQL Server 的版本:

  1. 备份所有数据库,包括系统(tempdb 除外)和用户数据库。

  2. 将全部所需的服务器级对象(如服务器触发器、角色、登录名、链接服务器、作业、凭据和证书)导出。

  3. 如果较低版本中没有用于重建用户数据库的脚本,则必须使用 BCP.exe、SSIS 或 DACPAC 为所有对象编写脚本并导出所有数据。

    确保在编写目标版本、依赖对象和高级选项的脚本时,选择正确的选项。

    脚本选项。

  4. 完全卸载 SQL Server 和所有关联的服务。

  5. 重启 VM。

  6. 使用所需程序版本的介质安装 SQL Server。

  7. 安装最新的 Service Pack 和累积更新。

  8. 将步骤 3 中导出的全部所需的服务器级对象导入。

  9. 使用创建的脚本或步骤 4 中的文件,从头开始重建所有所需的用户数据库。

注册扩展

成功更改 SQL Server 版本后,必须再次使用 SQL IaaS 代理扩展注册 SQL Server VM,以便从 Azure 门户对其进行管理。

向 Azure PowerShell 注册 SQL Server VM:

# Get the existing Compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
-LicenseType <license_type>

验证门户中的版本和版次

更改 SQL Server 版本后,重新向 SQL IaaS 代理扩展注册 SQL Server VM,以便可以使用 Azure 门户查看 SQL Server 的版本。 列出的版本号现在应该反映 SQL Server 安装的新升级版本和版本。

验证版本。

注解

  • 建议在升级完成后,启动备份/更新统计信息/重建索引/检查一致性。 还可以检查单个数据库兼容性级别,确保它们反映了所需的级别。
  • 在 VM 上更新 SQL Server 后,确保 Azure 门户中 SQL Server 的“版次”属性与计费的已安装版次编号匹配。
  • 更改版次是 SQL IaaS 代理扩展的一项功能。 通过 Azure 门户部署 Azure 市场映像会自动将 SQL Server VM 注册到代理扩展中。 但是,自行安装 SQL Server 的客户需要手动注册其 SQL Server VM
  • 如果删除了 SQL Server VM 资源,则会恢复映像的硬编码版次设置。