Add a SQL Server license to an existing Linux server


Compute Engine lets you install SQL Server on Linux virtual machines (VM) instances and use pay-as-you-go (PAYG) licenses. This document describes how to use SQL Server on a Linux VM by doing the following:

  1. Add SQL Server license metadata to a boot disk
  2. Install SQL Server on Linux

Billing

After adding a license string to the Linux VM's boot disk, you are billed according to the pricing of SQL Server images.

Limitations

  • You can only install SQL Server on the following Linux distributions:

    • Red Hat Enterprise Linux (RHEL)
    • SUSE Linux Enterprise Server (SLES)
    • Ubuntu

Add a SQL Server license to a Linux Server

SQL Server license metadata on a boot disk allows Google Cloud to accurately track, bill, and report on SQL Server license usage. This metadata is required when using PAYG SQL Server licenses. Add a SQL Server license to an existing boot disk using the following procedure:

  1. Identify the license you want to add to a VM. For SQL Server, the license needs to match both the version and edition you want to run. For the list of valid SQL Server license strings, see the License strings tab in the operating system details for SQL Server document.

  2. Stop the VM:

    gcloud compute instances stop VM_NAME
    

    Replace VM_NAME with the name of the VM instance to stop.

  3. Identify the boot disk:

    gcloud compute instances describe VM_NAME
    

    Replace VM_NAME with the name of the VM.

  4. Verify that the output is similar to the following:

    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. Detach the boot disk:

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

    Replace the following:

    • VM_NAME: the name of the VM
    • BOOT_DISK_NAME: the name of the boot disk
  6. Clone the boot disk and add the additional license:

    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
    

    Replace the following:

    • CLONED_BOOT_DISK_NAME: the name you want to give the cloned book disk
    • CLONED_BOOT_DISK_NAME: the SQL Server license you want to add to the boot disk
    • BOOT_DISK_NAME: the name of the source boot disk that you want to clone
    • BOOT_DISK_ZONE: the zone of the source boot disk
    • CLONED_BOOT_DISK_ZONE: the zone in which you want to create the cloned boot disk
  7. Verify that the new disk has the correct license:

    gcloud compute disks describe CLONED_BOOT_DISK_NAME \
      --zone=CLONED_BOOT_DISK_ZONE
    

    Replace the following:

    • CLONED_BOOT_DISK_NAME: the name of the cloned book disk
    • CLONED_BOOT_DISK_ZONE: the zone of the cloned boot disk
  8. Attach the new disk as the boot disk for the VM instance:

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

    Replace the following:

    • VM_NAME: the name of the VM instance to which you want to attach the cloned boot disk
    • CLONED_BOOT_DISK_NAME: the name of the cloned book disk
  9. Verify that the VM's boot disk is the new cloned disk with SQL Server licensing.

    gcloud compute instances describe VM_NAME
    

    Replace VM_NAME with the name of the VM.

  10. Start the VM instance.

    gcloud compute instances start VM_NAME
    

    Replace VM_NAME with the name of the VM.

  11. (Optional) When you are sure that you don't want to revert back to the earlier boot disk, you can delete the disk.

    gcloud compute disks delete BOOT_DISK_NAME \
      --zone=BOOT_DISK_ZONE
    

    Replace the following:

    • BOOT_DISK_NAME: the name of the boot disk that you want to delete
    • BOOT_DISK_ZONE: the zone of the boot disk

Install SQL Server on Linux

For guidance on installing, updating, and uninstalling SQL Server on Linux, see Installation guidance for SQL Server on Linux.

What's next