将 SQL Server 许可添加到现有 Windows 服务器


Compute Engine 可让您在 Windows 虚拟机 (VM) 实例上安装 SQL Server 并使用随用随付 (PAYG) 许可。本文档介绍了如何执行以下操作:

  1. 将 SQL Server 许可元数据添加到启动磁盘
  2. 获取 SQL Server 介质并安装 SQL Server
  3. 将 SQL Server 产品密钥应用于 Compute Engine 虚拟机实例

结算

将许可字符串添加到 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 许可添加到现有启动磁盘:

  1. 确定要添加到虚拟机的许可。对于 SQL Server,许可需要与您要运行的版本匹配。如需查看有效 SQL Server 许可字符串的列表,请参阅 SQL Server 的操作系统详细信息文档中的许可字符串标签页。

  2. 停止虚拟机:

    gcloud compute instances stop VM_NAME
    

    VM_NAME 替换为要停止的虚拟机实例的名称。

  3. 确定启动磁盘:

    gcloud compute instances describe VM_NAME
    

    VM_NAME 替换为虚拟机名称。

  4. 验证输出是否类似如下所示:

    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
    
  5. 分离启动磁盘:

    gcloud compute instances detach-disk VM_NAME --disk=BOOT_DISK_NAME
    

    请替换以下内容:

    • VM_NAME:虚拟机的名称
    • BOOT_DISK_NAME:启动磁盘的名称
  6. 克隆启动磁盘并添加其他许可:

    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:您要在其中创建克隆的启动磁盘的可用区
  7. 验证新磁盘具有正确的许可:

    gcloud compute disks describe CLONED_BOOT_DISK_NAME \
      --zone=CLONED_BOOT_DISK_ZONE
    

    请替换以下内容:

    • CLONED_BOOT_DISK_NAME:克隆的启动磁盘的名称
    • CLONED_BOOT_DISK_ZONE:克隆的启动磁盘的可用区
  8. 将新磁盘挂接为虚拟机实例的启动磁盘:

    gcloud compute instances attach-disk VM_NAME \
      --disk=CLONED_BOOT_DISK_NAME
      --boot
    

    替换以下内容:

    • VM_NAME:要挂接克隆的启动磁盘的虚拟机实例的名称
    • CLONED_BOOT_DISK_NAME:克隆的启动磁盘的名称
  9. 验证虚拟机的启动磁盘是否是具有 SQL Server 许可的新克隆磁盘。

    gcloud compute instances describe VM_NAME
    

    VM_NAME 替换为虚拟机名称。

  10. 启动虚拟机实例。

    gcloud compute instances start VM_NAME
    

    VM_NAME 替换为虚拟机名称。

  11. (可选)如果您确定不想还原到之前的启动磁盘,则可以删除该磁盘。

    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 虚拟机启动磁盘,请执行以下操作:

  1. 使用任何版本的 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 介质磁盘要使用的可用区
  2. 将该磁盘挂接到任何现有的 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: 驱动器。

  3. 确保虚拟机实例的启动磁盘至少有 5 GB 的可用磁盘空间,并将 SQL Server 介质复制到启动磁盘:

    robocopy /mir d:\sql_server_install\ c:\sql_server_install
    
  4. 从虚拟机实例分离 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 安装介质,请执行以下操作:

  1. 从 SQL Server 安装介质获取产品密钥:

    C:\> type C:\sql_server_install\x64\DefaultSetup.ini
    
  2. 应用产品密钥并升级 SQL Server 安装介质。如需了解详情,请参阅升级到 SQL Server 的其他版本

后续步骤