Compute Engine 可让您在 Windows 虚拟机 (VM) 实例上安装 SQL Server 并使用随用随付 (PAYG) 许可。本文档介绍了如何执行以下操作:
结算
将许可字符串添加到 Windows 虚拟机的启动磁盘后,您需要根据 SQL Server 映像的价格支付费用。
限制
您只能为以下版本的 SQL Server 添加 PAYG 许可:
- SQL Server Web 版本
- SQL Server Standard 版本
- SQL Server Enterprise 版本
添加 SQL Server 许可
启动磁盘上的 SQL Server 许可元数据使 Google Cloud 可以准确跟踪和报告 SQL Server 许可使用情况,并进行计费。使用 PAYG SQL Server 许可时,此元数据是必需的。按照以下过程将 SQL Server 许可添加到现有启动磁盘:
确定要添加到虚拟机的许可。对于 SQL Server,许可需要与您要运行的版本匹配。如需查看有效 SQL Server 许可字符串的列表,请参阅 SQL Server 的操作系统详细信息文档中的许可字符串标签页。
停止虚拟机:
gcloud compute instances stop VM_NAME
将
VM_NAME
替换为要停止的虚拟机实例的名称。确定启动磁盘:
gcloud compute instances describe VM_NAME
将
VM_NAME
替换为虚拟机名称。验证输出是否类似如下所示:
disks: - autoDelete: true boot: true deviceName: BOOT_DISK_NAME diskSizeGb: '20' guestOsFeatures: - type: UEFI_COMPATIBLE index: 0 interface: SCSI kind: compute#attachedDisk licenses: - BOOT_DISK_LICENSE_STRING mode: READ_WRITE source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/BOOT_DISK_NAME type: PERSISTENT
分离启动磁盘:
gcloud compute instances detach-disk VM_NAME --disk=BOOT_DISK_NAME
请替换以下内容:
VM_NAME
:虚拟机的名称BOOT_DISK_NAME
:启动磁盘的名称
克隆启动磁盘并添加其他许可:
gcloud compute disks create CLONED_BOOT_DISK_NAME \ --licenses=SQL_SERVER_LICENSE \ --source-disk=BOOT_DISK_NAME \ --source-disk-zone=BOOT_DISK_ZONE \ --zone=CLONED_BOOT_DISK_ZONE
请替换以下内容:
CLONED_BOOT_DISK_NAME
:您要为克隆的启动磁盘指定的名称SQL_SERVER_LICENSE
:要添加到启动磁盘的 SQL Server 许可。如需了解 SQL Server 许可,请参阅 Windows 上的 SQL Server 部分中的“许可”标签页BOOT_DISK_NAME
:要克隆的来源启动磁盘的名称BOOT_DISK_ZONE
:来源启动磁盘的可用区CLONED_BOOT_DISK_ZONE
:您要在其中创建克隆的启动磁盘的可用区
验证新磁盘具有正确的许可:
gcloud compute disks describe CLONED_BOOT_DISK_NAME \ --zone=CLONED_BOOT_DISK_ZONE
请替换以下内容:
CLONED_BOOT_DISK_NAME
:克隆的启动磁盘的名称CLONED_BOOT_DISK_ZONE
:克隆的启动磁盘的可用区
将新磁盘挂接为虚拟机实例的启动磁盘:
gcloud compute instances attach-disk VM_NAME \ --disk=CLONED_BOOT_DISK_NAME --boot
替换以下内容:
VM_NAME
:要挂接克隆的启动磁盘的虚拟机实例的名称CLONED_BOOT_DISK_NAME
:克隆的启动磁盘的名称
验证虚拟机的启动磁盘是否是具有 SQL Server 许可的新克隆磁盘。
gcloud compute instances describe VM_NAME
将
VM_NAME
替换为虚拟机名称。启动虚拟机实例。
gcloud compute instances start VM_NAME
将
VM_NAME
替换为虚拟机名称。(可选)如果您确定不想还原到之前的启动磁盘,则可以删除该磁盘。
gcloud compute disks delete BOOT_DISK_NAME \ --zone=BOOT_DISK_ZONE
替换以下内容:
BOOT_DISK_NAME
:您要删除的启动磁盘的名称BOOT_DISK_ZONE
:启动磁盘的可用区
获取 SQL Server 介质并安装 SQL Server
如需获取 SQL Server 安装介质并将其复制到 Compute Engine 虚拟机启动磁盘,请执行以下操作:
使用任何版本的 SQL Server(例如 2019 Enterprise)创建包含 SQL Server 安装介质的新磁盘:
gcloud compute disks create SQL_SERVER_MEDIA_DISK_NAME \ --image-family=sql-ent-2019-win-2022 \ --image-project=windows-sql-cloud \ --zone=SQL_SERVER_ZONE
替换以下内容:
SQL_SERVER_MEDIA_DISK_NAME
:要创建的 SQL Server 介质磁盘的名称SQL_SERVER_ZONE
:创建 SQL Server 介质磁盘要使用的可用区
将该磁盘挂接到任何现有的 Compute Engine 虚拟机实例:
gcloud compute instances attach-disk VM_INSTANCE_NAME \ --disk=SQL_SERVER_MEDIA_DISK_NAME --zone=SQL_SERVER_ZONE
替换以下内容:
VM_INSTANCE_NAME
:要挂接 SQL Server 介质磁盘的虚拟机实例的名称SQL_SERVER_MEDIA_DISK_NAME
:SQL Server 介质磁盘的名称SQL_SERVER_ZONE
:虚拟机实例所在的地区
在 SQL Server 介质磁盘挂接到虚拟机实例后,在 Windows 机器上打开磁盘管理页面,查看该磁盘是否分配了盘符。如果未分配,请右键点击磁盘,然后选择联机以使其联机。SQL Server 介质磁盘现在是磁盘管理页面和 Windows 资源管理器中的
D:
驱动器。确保虚拟机实例的启动磁盘至少有 5 GB 的可用磁盘空间,并将 SQL Server 介质复制到启动磁盘:
robocopy /mir d:\sql_server_install\ c:\sql_server_install
从虚拟机实例分离 SQL Server 介质磁盘:
gcloud compute instances detach-disk VM_INSTANCE_NAME \ --disk=SQL_SERVER_MEDIA_DISK_NAME
替换以下内容:
VM_INSTANCE_NAME
:要分离 SQL Server 介质磁盘的虚拟机实例的名称SQL_SERVER_MEDIA_DISK_NAME
:要从虚拟机分离的 SQL Server 介质磁盘的名称
如需了解详情,请参阅 Microsoft SQL Server 安装指南。
将 SQL Server 产品密钥应用于 Compute Engine 虚拟机实例
为了升级 SQL Server 安装介质,您必须获取新的产品密钥,并将其应用于安装了 SQL Server 的 Compute Engine 虚拟机实例。如需获取产品密钥并升级 SQL Server 安装介质,请执行以下操作:
从 SQL Server 安装介质获取产品密钥:
C:\> type C:\sql_server_install\x64\DefaultSetup.ini
应用产品密钥并升级 SQL Server 安装介质。如需了解详情,请参阅升级到 SQL Server 的其他版本。