Clona una base de datos de Microsoft SQL Server en Compute Engine


En este instructivo, se demuestran dos formas de clonar una base de datos de Microsoft SQL Server que se ejecuta en Compute Engine. En uno de los métodos, se usan instantáneas de disco persistente. En el otro, se usa la copia de seguridad y restablecimiento nativa de SQL Server y se la transfiere mediante Cloud Storage. Cloud Storage es el servicio de almacenamiento de objetos de Google Cloud. Ofrece una manera sencilla, duradera, más segura y con alta disponibilidad de almacenar archivos.

La clonación es el proceso de copiar una base de datos en línea en otro servidor. La copia es independiente de la base de datos existente y se conserva como una instantánea de un momento determinado. Puedes usar una base de datos clonada para varios fines, sin cargar el servidor de producción ni poner en riesgo la integridad de los datos de producción. Algunos de estos fines son los siguientes:

  • Realizar consultas analíticas
  • Realizar pruebas de carga o de integración de tus aplicaciones
  • Extraer datos para propagarlos en los almacenes de datos
  • Ejecutar experimentos en los datos

Cada método de clonación que se describe en este instructivo tiene ventajas y desventajas. El método ideal para ti depende de tu situación. En la siguiente tabla, se destacan algunos problemas clave.

Problema Método 1: instantáneas de disco Método 2: copia de seguridad y restablecimiento con Cloud Storage
Espacio en disco adicional necesario en las instancias de SQL Server No se necesita espacio de disco adicional Espacio adicional necesario para almacenar el archivo de copia de seguridad durante la creación y el restablecimiento
Carga adicional en instancias de SQL Server de origen durante la clonación Sin carga adicional Carga adicional en la CPU y la E/S cuando se crean y se suben archivos de copia de seguridad
Duración de la clonación Relativamente rápida para bases de datos grandes Relativamente lenta para bases de datos grandes
Posibilidad de clonar desde instancias de SQL Server externas a Google Cloud No
Complejidad Una secuencia de comandos compleja para conectar discos clonados Un conjunto de comandos relativamente sencillo para la clonación
Aprovechamiento de sistemas de copia de seguridad existentes Sí, si el sistema de copia de seguridad usa instantáneas de disco de Google Cloud Sí, si el sistema de copia de seguridad escribe archivos de copia de seguridad nativos de SQL Server en Cloud Storage
Nivel de detalle de la clonación Puede clonar solo discos completos Puede clonar solo la base de datos especificada
Coherencia de los datos Coherentes en el momento de la instantánea Coherentes en el momento de crear copia de seguridad

En este instructivo, se supone que estás familiarizado con la administración del sistema de Microsoft Windows, PowerShell y la administración de Microsoft SQL Server mediante Microsoft SQL Server Management Studio.

Objetivos

  • Aprender a ejecutar una instancia de SQL Server en Google Cloud
  • Aprender a crear una base de datos de demostración en un disco secundario
  • Aprender a clonar una base de datos de SQL Server mediante el uso de instantáneas de discos de Compute Engine
  • Aprender a clonar una base de datos de SQL Server mediante la transferencia de una copia de seguridad con Cloud Storage

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. Habilita la API de Compute Engine.
  7. Habilitar la API

Asegúrate de cumplir con estos requisitos previos adicionales:

Configura el entorno

Para completar este instructivo, debes configurar el entorno de computación con lo siguiente:

  • Una instancia de SQL Server en Compute Engine (llamada sql-server-prod) que represente el servidor de tu base de datos de producción
  • Un disco adicional (llamado sql-server-prod-data) que esté conectado al servidor de producción para almacenar la base de datos de producción
  • Una copia de la base de datos de muestra de SQL Server de World Wide Importers que simule ser la base de datos de producción que deseas clonar
  • Una instancia de SQL Server en Compute Engine llamada sql-server-test que represente el servidor de la base de datos de pruebas. Debes clonar la base de datos en este servidor

En el siguiente diagrama, se ilustra esta arquitectura.

Diagrama que muestra la configuración para clonar una base de datos de SQL Server en este instructivo.

Crea la instancia de VM de producción

Para simular un entorno de producción, debes configurar una instancia de VM de Compute Engine que ejecute SQL Server en Windows Server.

En la instancia de VM de este instructivo, se usan dos discos: uno de 50 GB para el SO y las cuentas de usuario, y otro de 100 GB para el almacenamiento de la base de datos.

En Compute Engine, el uso de discos independientes no ofrece beneficios en cuanto al rendimiento. El rendimiento del disco se determina por la capacidad de almacenamiento total de todos los discos conectados a una instancia y por la cantidad total de CPU virtuales en la instancia de VM. Por lo tanto, la base de datos y el archivo de registro pueden estar en el mismo disco.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en Crear.

  3. En el campo Nombre, escribe sql-server-prod.

  4. En Región, selecciona us-east1.

  5. En Zona, selecciona us-east1-b.

  6. En Configuración de la máquina, cambia el Tipo de máquina a n1-standard-2 (2 CPU virtuales).

  7. Junto a la descripción Disco de arranque, haz clic en Cambiar.

  8. En el panel Disco de arranque, haz clic en la pestaña Imágenes públicas.

  9. En la lista desplegable Sistema operativo, selecciona SQL Server on Windows Server.

  10. En la lista desplegable Versión, selecciona SQL Server 2022 Standard on Windows Server 2022 Datacenter.

  11. Asegúrate de que estén establecidos los siguientes valores:

    • El Tipo de disco de arranque está configurado como Disco persistente estándar.
    • El tamaño (GB) está configurado en 50.
  12. Haz clic en Seleccionar.

  13. En Identidad y acceso a la API, configura Permisos de acceso como Permitir el acceso total a todas las API de Cloud.

  14. Expande Administración, seguridad, discos, redes y usuario único.

  15. Haz clic en la pestaña Discos.

  16. Haz clic en Agregar disco nuevo .

  17. En el campo Nombre, escribe sql-server-prod-data.

  18. En el campo Tamaño (GB), escribe 100.

  19. Haz clic en Listo.

  20. Haz clic en Crear.

Cloud Shell

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Inicializa las siguientes variables:

    VPC_NAME=VPC_NAME
    SUBNET_NAME=SUBNET_NAME
    

    Aquí:

    • VPC_NAME: Es el nombre de tu VPC.
    • SUBNET_NAME: Es el nombre de tu subred.
  3. Establece tu ID del proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

  4. Configura la región predeterminada:

    gcloud config set compute/region REGION
    

    Reemplaza REGION por el ID de la región en la que deseas realizar la implementación.

  5. Establece la zona predeterminada:

    gcloud config set compute/zone ZONE
    

    Reemplaza ZONE por el ID de la zona en la que deseas realizar la implementación.

  6. Crea una instancia de Compute Engine mediante el uso de la imagen de la app para SQL Server 2022 Standard en Windows Server 2022 Datacenter:

    REGION=$(gcloud config get-value compute/region)
    ZONE=$(gcloud config get-value compute/zone)
    
    gcloud compute instances create sql-server-prod \
        --machine-type=n1-standard-2 \
        --scopes=cloud-platform \
        --image-family=sql-std-2022-win-2022 \
        --image-project=windows-sql-cloud \
        --boot-disk-size=50GB \
        --boot-disk-device-name=sql-server-prod \
        --create-disk="mode=rw,size=100,type=pd-standard,name=sql-server-prod-data,device-name=sql-server-prod-data" \
        --subnet=$SUBNET_NAME
    

    Con este comando, se le otorga a la instancia acceso completo a las API de Google Cloud, se crea un disco secundario de 100 GB y se conecta el disco a la instancia. Ignora la advertencia sobre el rendimiento del disco, ya que no necesitas un alto rendimiento para este instructivo.

Conéctate a la instancia de VM

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Espera unos 5 minutos hasta que la instancia de VM esté lista.

    Para supervisar el proceso de inicialización de la VM, visualiza su salida de puerto en serie en Cloud Shell:

    gcloud compute instances tail-serial-port-output sql-server-prod
    

    Cuando veas el siguiente mensaje, la inicialización estará completa.

    Instance setup finished. sql-server-prod is ready to use.
    

    Presiona Control+C para detener la supervisión del puerto en serie.

  3. Haz clic en el nombre de la instancia sql-server-prod para abrir la página Detalles de instancia de VM.

  4. En Acceso remoto, haz clic en Configurar contraseña de Windows y, luego, en Configurar para crear una cuenta en la máquina remota.

    Con este paso, generas una contraseña. Toma nota de la contraseña o cópiala en un archivo temporal seguro.

  5. En la sección Compute Engine de la consola de Google Cloud, haz clic en el menú desplegable RDP y selecciona la opción Descargar el archivo RDP para descargar el archivo de RDP de tu instancia.

    Usa este archivo para conectarte a la instancia mediante un cliente de RDP. Para obtener más información, consulta Clientes de escritorio remoto de Microsoft.

  6. Cuando se te solicite, ingresa la contraseña que acabas de generar y, luego, haz clic en Aceptar.

  7. Para aceptar el certificado del servidor y acceder a tu instancia remota de Windows, haz clic en Continuar.

  8. Cuando se te pregunte si quieres que otras computadoras y dispositivos de la red puedan detectar tu computadora, haz clic en No.

Configura el disco adicional

El segundo disco conectado a la instancia de producción es para almacenar la base de datos de producción. Este disco está en blanco, por lo que debes particionarlo, formatearlo y activarlo.

  1. En una sesión de RDP conectada a tu instancia sql-server-prod, haz clic en el botón Iniciar de la barra de tareas de Windows, escribe diskpart y, luego, haz clic en diskpart para abrir DiskPart.
  2. Cuando se te solicite que permitas que la app realice cambios, haz clic en .
  3. Muestra una lista de los discos conectados a tu instancia con este comando:

    list disk
    

    Este es el resultado:

    Disk ###  Status         Size     Free     Dyn  Gpt
    --------  -------------  -------  -------  ---  ---
    Disk 0    Online           50 GB      0 B
    Disk 1    Online          100 GB   100 GB
    

    El disco 1 (100 GB) es tu disco de datos.

  4. Selecciona el disco de datos:

    select disk 1
    
  5. Inicializa el disco:

    clean
    
  6. Crea una tabla de particiones GUID:

    convert gpt
    
  7. Crea la partición de datos mediante el uso de todo el disco:

    create partition primary
    
  8. Enumera los volúmenes disponibles con este comando:

    list volume
    

    Este es el resultado:

    Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
    ----------  ---  -----------  -----  ----------  -------  ---------  --------
    Volume 0     C                NTFS   Partition     49 GB  Healthy    Boot
    Volume 1                      FAT32  Partition    100 MB  Healthy    System
    Volume 2                      RAW    Partition     99 GB  Healthy
    

    El volumen 2 (99 GB) es tu disco de datos.

  9. Selecciona el volumen:

    select volume 2
    
  10. Da formato a la partición con el sistema de archivos NTFS y asígnale la etiqueta data:

    format quick fs=ntfs label=data
    
  11. Activa el disco como unidad D:

    assign letter=d
    
  12. Sal de DiskPart:

    exit
    

Descarga la base de datos de muestra

Si deseas configurar tu entorno para este ejercicio de clonación, debes hacer lo siguiente:

Para crear el directorio y descargar el archivo de copia de seguridad, sigue estos pasos:

  1. En tu sesión de RDP, haz clic en el botón Iniciar de la barra de tareas de Windows, escribe PowerShell y, luego, selecciona la app de Windows PowerShell.

  2. Cuando recibas el mensaje de PowerShell, crea una estructura de directorio para el almacenamiento de la base de datos:

    mkdir D:\sql-server-data\wideworldimporters
    
  3. Descarga el archivo de copia de seguridad de la unidad D:

    bitsadmin /transfer sampledb /dynamic /download /priority FOREGROUND `
      https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak `
      D:\sql-server-data\WideWorldImporters-Full.bak
    

Restablece la base de datos de muestra

Debes restablecer la base de datos de muestra en la unidad D (data), ya sea de forma interactiva mediante los asistentes de Microsoft SQL Server Management Studio (SSMS) o de forma directa mediante la ejecución de un comando de Transact-SQL.

Asistente de SSMS

  1. En la sesión de RDP, haz clic en el botón Iniciar de la barra de tareas de Windows, escribe ssms y, luego, selecciona Microsoft SQL Server Management Studio (Ejecutar como administrador).
  2. Una vez que se inicie la app, haz clic en Conectar para conectarte al motor de la base de datos sql-server-prod mediante la autenticación de Windows.
  3. En el explorador de objetos, haz clic con el botón derecho en Bases de datos y, luego, selecciona Restaurar base de datos.
  4. En Origen, selecciona Dispositivo y haz clic en el botón […] junto al nombre del dispositivo.
  5. En el cuadro de diálogo Seleccionar dispositivos de copia de seguridad, asegúrate de que Archivo esté seleccionado para Tipo de medio de copia de seguridad y, luego, haz clic en Agregar.
  6. En el selector de archivos, navega hasta D:\sql-server-data, haz clic en el archivo WideWorldImporters-Full.bak y, luego, en Aceptar.
  7. Haz clic en Aceptar para cerrar el cuadro de diálogo Seleccionar dispositivos de copia de seguridad.

    Ahora, se propagará el cuadro de diálogo Restaurar base de datos (Restore Database) con datos sobre la copia de seguridad de la base de datos de Wide World Importers.

  8. En Seleccionar una página (Select a page), haz clic en Archivos (Files).

  9. Selecciona la casilla de verificación Reubicar todos los archivos en la carpeta (Relocate all files to folder).

  10. En los campos Carpeta de archivos de datos (Data file folder) y Carpeta de archivos de registro (Data file folder), ingresa D:\sql-server-data\wideworldimporters.

    Captura de pantalla en la que se muestra el cuadro de diálogo Restaurar base de datos.

  11. Haz clic en Aceptar para iniciar la operación de restablecimiento.

Después de unos de minutos, se te notificará que se restableció la base de datos.

Transact-SQL

  1. En la sesión de RDP, haz clic en el botón Iniciar de la barra de tareas de Windows, escribe ssms y, luego, selecciona Microsoft SQL Server Management Studio (Ejecutar como administrador).
  2. Una vez que se inicie la app, haz clic en Conectar para conectarte al motor de la base de datos sql-server-prod mediante la autenticación de Windows.
  3. Selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva.
  4. Inicia un restablecimiento desde el archivo de copia de seguridad que descargaste:

    USE [master]
    GO
    
    RESTORE DATABASE [WideWorldImporters]
      FROM  DISK = N'D:\SQL-SERVER-DATA\WideWorldImporters-Full.bak'
      WITH  FILE = 1,
      MOVE N'WWI_Primary' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters.mdf',
      MOVE N'WWI_UserData' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters_UserData.ndf',
      MOVE N'WWI_Log' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters.ldf',
      MOVE N'WWI_InMemory_Data_1' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters_InMemory_Data_1',
      NOUNLOAD,
      STATS = 5
    GO
    

    Mediante este comando, se restablece la base de datos y el archivo de registro en el directorio D:\sql-server-data\wideworldimporters.

  5. Haz clic con el botón derecho en el código de la consulta y, luego, en Ejecutar.

    Espera unos minutos hasta que se complete el restablecimiento de la base de datos. Puedes hacer clic en Actualizar en el explorador de objetos para ver si la base de datos se enumera en el árbol de las bases de datos. Una vez que finalice el restablecimiento de la base de datos, puedes cerrar la ventana de consulta sin guardar.

Para verificar que la base de datos de muestra sea funcional, puedes ejecutar una consulta.

  1. En Microsoft SQL Server Management Studio, selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva y, luego, copia el siguiente código:

    SELECT top(100)
      i.InvoiceDate, i.InvoiceID, i.CustomerID, c.CustomerName,
      i.ConfirmedDeliveryTime, i.ConfirmedReceivedBy
    FROM
      WideWorldImporters.Sales.Invoices i
      JOIN WideWorldImporters.Sales.Customers c
      ON i.CustomerID=c.CustomerID
    WHERE i.ConfirmedDeliveryTime IS NOT NULL
    ORDER BY i.InvoiceDate desc;
    

    Mediante esta consulta, se recupera la información de resumen de las 100 facturas entregadas más recientes.

  2. Haz clic con el botón derecho en la ventana de consulta y, luego, en Ejecutar.

    En el panel Results (Resultados), se muestra la información del resumen.

    Captura de pantalla en la que se muestra el panel de resultados de una consulta a la base de datos de muestra.

Crea la instancia de VM de prueba

En esta sección, crearás una instancia de SQL Server llamada sql-server-test como el destino de la base de datos clonada. La configuración de esta instancia es idéntica a la instancia de producción. Sin embargo, no crearás un segundo disco de datos, en cambio, conectarás el disco de datos más adelante en este instructivo.

Console

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en Crear.

  3. En el campo Nombre, escribe sql-server-test.

  4. En Región, selecciona us-east1.

  5. En Zona, selecciona us-east1-b.

  6. En Configuración de la máquina, cambia el Tipo de máquina a n1-standard-2 (2 CPU virtuales).

  7. Junto a la imagen de Disco de arranque, haz clic en Cambiar.

  8. En el panel Disco de arranque, haz clic en la pestaña Imágenes públicas.

  9. En la lista desplegable Sistema operativo, selecciona SQL Server on Windows Server.

  10. En la lista desplegable Versión, selecciona SQL Server 2022 Standard on Windows Server 2022 Datacenter.

  11. Asegúrate de que estén establecidos los siguientes valores:

    • El Tipo de disco de arranque está configurado como Disco persistente estándar.
    • El tamaño (GB) está configurado en 50.
  12. Haz clic en Seleccionar.

  13. En Identidad y acceso a la API, configura Alcance del acceso como Permitir el acceso total a todas las API de Cloud.

  14. Haz clic en Crear.

Cloud Shell

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Crea la instancia de prueba de SQL Server:

    gcloud compute instances create sql-server-test \
        --machine-type=n1-standard-2 \
        --scopes=cloud-platform \
        --image-family=sql-std-2022-win-2022 \
        --image-project=windows-sql-cloud \
        --boot-disk-size=50GB \
        --boot-disk-device-name=sql-server-test \
        --subnet=$SUBNET_NAME
    

    Puedes ignorar la advertencia de rendimiento del disco porque no necesitas un rendimiento alto para este instructivo.

Conéctate a la instancia de VM

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Espera unos 5 minutos hasta que la instancia de VM esté lista.

    Para supervisar el proceso de inicialización de la VM, visualiza su salida de puerto en serie en Cloud Shell:

    gcloud compute instances tail-serial-port-output sql-server-prod
    

    Cuando veas el siguiente mensaje, la inicialización estará completa.

    Instance setup finished. sql-server-test is ready to use.
    

    Presiona Control+C para detener la supervisión del puerto en serie.

  3. Haz clic en el nombre de la instancia sql-server-test para que se muestra la página Detalles de instancia de VM.

  4. En Acceso remoto, haz clic en Configurar contraseña de Windows y, luego, en Configurar para crear una cuenta en la máquina remota.

    Con este paso, generas una contraseña. Toma nota de la contraseña o cópiala en un archivo temporal seguro.

  5. En la sección Compute Engine de la consola de Google Cloud, haz clic en el menú desplegable RDP y selecciona la opción Descargar el archivo RDP para descargar el archivo de RDP de tu instancia.

    Usa este archivo para conectarte a la instancia mediante un cliente de RDP. Para obtener más información, consulta Clientes de escritorio remoto de Microsoft.

  6. Cuando se te solicite, ingresa la contraseña que acabas de generar y, luego, haz clic en Aceptar.

  7. Para aceptar el certificado del servidor y acceder a tu instancia remota de Windows, haz clic en Continuar.

  8. Cuando se te pregunte si deseas que tu computadora de escritorio sea detectable, haz clic en No.

Clona la base de datos mediante instantáneas de disco de Compute Engine

Una forma de clonar una base de datos de SQL Server que se ejecuta en Compute Engine es almacenar la base de datos en un disco de datos separado y usar instantáneas de disco persistente para crear una clonación de ese disco.

Las instantáneas de disco persistente te permiten obtener una copia de un momento determinado de los datos en el disco. La programación de instantáneas de disco es una forma de crear copias de seguridad automáticas de los datos.

En esta sección del instructivo, harás lo siguiente:

  • Tomarás una instantánea del disco de datos del servidor de producción.
  • Crearás un disco nuevo a partir de la instantánea.
  • Activarás el disco nuevo en el servidor de prueba.
  • Conectarás la base de datos de este disco a SQL Server en la instancia de prueba.

En el siguiente diagrama, se muestra cómo se clona una base de datos mediante instantáneas de disco.

Diagrama que muestra la configuración para clonar una base de datos de SQL Server mediante instantáneas de disco.

Crea la instantánea de disco

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia sql-server-prod.

  3. En la página Detalles de instancia de VM, haz clic en el disco sql-server-prod-data.

  4. Haz clic en Crear instantánea.

  5. Asigna el nombre sql-server-prod-data-snapshot a la instantánea.

  6. En Ubicación, selecciona Regional.

  7. Verifica que la región esté configurada como us-east1 (la misma que la de tus instancias de VM).

  8. Selecciona la opción Habilitar VSS.

    En esta opción, se usa el servicio de instantáneas de volumen de Microsoft Windows para crear una instantánea coherente.

  9. Haz clic en Crear.

    Después de unos minutos, se creará la instantánea.

Cloud Shell

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Crea una instantánea de tu disco de datos en la misma zona donde creaste la instancia de VM:

    gcloud compute disks snapshot sql-server-prod-data \
         --snapshot-names=sql-server-prod-data-snapshot \
         --guest-flush \
         --zone="${ZONE}"
    

    En la opción --guest-flush, se usa el servicio de instantáneas de volumen en Microsoft Windows para crear una instantánea coherente. Después de unos minutos, se creará la instantánea.

Conecta la instantánea de disco a la instancia de prueba

Debes crear un disco de datos nuevo a partir de la instantánea que creaste y, luego, conectarlo a la instancia sql-server-test.

Console

En los siguientes pasos, deberás crear un disco persistente nuevo, usar la instantánea del disco de producción para su contenido y, luego, conectar el disco a la instancia de prueba.

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia sql-server-test.

  3. En la página Detalles de la instancia de VM, haz clic en Editar.

  4. Haz clic en Agregar disco nuevo .

  5. Asígnale el nombre sql-server-test-data al disco nuevo.

  6. En Tipo de origen, selecciona Instantánea.

  7. En la instancia sql-server-prod-data-snapshot que creaste, selecciona la Instantánea de origen.

  8. Asegúrate de que Modo esté configurado como Lectura/escritura.

  9. Haz clic en Listo.

Cloud Shell

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Crea un disco persistente nuevo con la instantánea del disco de producción para el contenido:

    gcloud beta compute disks create sql-server-test-data \
         --size=100GB \
         --source-snapshot=sql-server-prod-data-snapshot \
         --zone="${ZONE}"
    
  3. Conecta el disco nuevo a la instancia sql-server-test con permisos de lectura y escritura:

    gcloud compute instances attach-disk sql-server-test \
        --disk=sql-server-test-data --mode=rw
    

Activa el disco de datos nuevo en Windows

El disco que creaste está conectado a la instancia de VM, pero se encuentra sin conexión, y el volumen está configurado como de solo lectura. Para configurar el volumen como de lectura y escritura, realiza los siguientes pasos:

  1. En la ventana del cliente de RDP que está conectado a tu instancia sql-server-test, haz clic en el botón Iniciar de la barra de tareas de Windows, escribe diskpart y, luego, haz clic en diskpart para abrir DiskPart.
  2. Cuando se te solicite que permitas que la app realice cambios, haz clic en .
  3. Muestra una lista de los discos conectados a tu instancia con este comando:

    list disk
    

    Este es el resultado:

    
    Disk ###  Status         Size     Free     Dyn  Gpt
    --------  -------------  -------  -------  ---  ---
    Disk 0    Online           50 GB      0 B
    Disk 1    Offline         100 GB      0 B       *
     

    Tu disco de datos (disco 1, 100 GB) está sin conexión.

  4. Selecciona el disco de datos:

    select disk 1
    
  5. Pon el disco en línea:

    online disk
    
  6. Enumera los volúmenes disponibles con este comando:

    list volume
    

    Este es el resultado:

    Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
    ----------  ---  -----------  -----  ----------  -------  ---------  --------
    Volume 0     C                NTFS   Partition     49 GB  Healthy    Boot
    Volume 1                      FAT32  Partition    100 MB  Healthy    System
    Volume 2                      RAW    Partition     99 GB  Healthy
    

    Volume 2 (volumen 2) (99 GB) es el volumen de tus datos. Se muestra como Hidden (Oculto) y sin una letra de unidad asignada.

  7. Selecciona el volumen:

    select volume 2
    
  8. Borra los atributos que se configuraron cuando creaste el volumen desde la instantánea:

    attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    

    Con este comando, el volumen se puede activar.

  9. Activa el volumen como unidad D:

    assign letter=d
    
  10. Sal de DiskPart:

    exit
    

Restablece la propiedad del archivo y los permisos

Debido a que creaste el disco de datos mediante una instantánea en la instancia sql-server-prod, los ID del usuario de la propiedad y los permisos del archivo son diferentes a los de la instancia sql-server-test. Debes cambiar la propiedad de los archivos a un usuario de la instancia sql-server-test y actualizar los permisos para que los usuarios locales y el usuario MSSQLSERVER puedan leer los archivos.

  1. En la ventana del cliente de RDP conectado a tu instancia sql-server-test, haz clic en el botón Iniciar de la barra de tareas de Windows y, luego, escribe cmd.
  2. Abre la app del símbolo del sistema como administrador.
  3. Configura el propietario de los archivos de la carpeta sql-server-data como el usuario de servicio MSSQLSERVER:

    icacls d:\sql-server-data /setowner "nt service\mssqlserver" /t
    
  4. Restablece todos los permisos en todos los archivos de la carpeta de nivel superior sql-server-data:

    icacls d:\sql-server-data /reset /t
    
  5. Actualiza las listas de control de acceso (LCA) para la carpeta sql-server-data:

    icacls d:\sql-server-data /grant Administrators:(oi)(ci)f "nt service\mssqlserver":(oi)(ci)f "owner rights":(oi)(ci)f  %USERNAME%:(oi)(ci)f
    
  6. Inhabilita la herencia de la carpeta raíz de la unidad, de forma que solo se apliquen los permisos anteriores:

    icacls d:\sql-server-data /inheritancelevel:r
    
  7. Sal de la app del símbolo del sistema:

    exit
    

Ahora, la instancia de SQL Server y el usuario local de la instancia sql-server-test podrán acceder a los archivos de la base de datos.

Conecta la base de datos clonada

Ahora debes conectar la base de datos clonada en la unidad D (data) a la instancia de prueba de SQL Server. Puedes conectar la base de datos de forma interactiva mediante los asistentes de Microsoft SQL Server Management Studio o directamente mediante la ejecución de un comando de Transact-SQL.

Asistente de SSMS

  1. En la sesión de RDP conectada a tu instancia de sql-server-test, haz clic en el botón Inicio en la barra de tareas de Windows, escribe ssms y, luego, selecciona Microsoft SQL Server Management Studio (Ejecutar como administrador).
  2. Haz clic en Conectar para conectarte al motor de la base de datos sql-server-test mediante la autenticación de Windows.
  3. En el explorador de objetos, haz clic con el botón derecho en Bases de datos y, luego, selecciona Adjuntar.
  4. En el asistente Adjuntar bases de datos, haz clic en Agregar.
  5. Navega hasta el directorio D:\sql-server-data\wideworldimporters, haz clic en el archivo WideWorldImporters.mdf y, luego, en Aceptar.
  6. Haz clic en Aceptar para conectar la base de datos.

    Luego de unos minutos, se conectará la base de datos clonada. Puedes hacer clic en Actualizar  en el explorador de objetos para ver si la base de datos se enumera en el árbol de las bases de datos.

Transact-SQL

  1. En una sesión de RDP conectada a tu instancia de sql-server-test, haz clic en el botón Inicio en la barra de tareas de Windows, escribe ssms y, luego, selecciona Microsoft SQL Server Management Studio (Ejecutar como administrador).
  2. Haz clic en Conectar para conectarte al motor de la base de datos sql-server-prod mediante la autenticación de Windows.
  3. Selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva.
  4. Adjunta los datos y los archivos de registro en el directorio D:\sql-server-data\wideworldimporters:

    USE [master]
    GO
    
    CREATE DATABASE [WideWorldImporters] ON
    ( FILENAME = N'D:\sql-server-data\wideworldimporters\WideWorldImporters.mdf' ),
    ( FILENAME = N'D:\sql-server-data\wideworldimporters\WideWorldImporters.ldf' ),
    ( FILENAME = N'D:\sql-server-data\wideworldimporters\WideWorldImporters_UserData.ndf' )
     FOR ATTACH
    GO
    
  5. Haz clic con el botón derecho en el código de la consulta y, luego, en Ejecutar.

    Luego de unos minutos, se conectará la base de datos clonada. Puedes hacer clic en Actualizar  en el explorador de objetos para ver si la base de datos se enumera en el árbol de las bases de datos. Una vez que la base de datos esté conectada, puedes cerrar la ventana de consulta sin guardar.

Para verificar que la base de datos de muestra sea funcional, puedes ejecutar una consulta.

  1. En SQL Server Management Studio, selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva y, luego, copia el siguiente código:

    SELECT top(100)
      i.InvoiceDate, i.InvoiceID, i.CustomerID, c.CustomerName,
      i.ConfirmedDeliveryTime, i.ConfirmedReceivedBy
    FROM
      WideWorldImporters.Sales.Invoices i
      JOIN WideWorldImporters.Sales.Customers c
      ON i.CustomerID=c.CustomerID
    WHERE i.ConfirmedDeliveryTime IS NOT NULL
    ORDER BY i.InvoiceDate desc;
    

    Mediante esta consulta, se recupera la información de resumen de las 100 facturas entregadas más recientes.

  2. Para ejecutar la consulta, haz clic con el botón derecho en la ventana de consulta y, luego, selecciona Ejecutar.

    En el panel Resultados (Results), se muestra la información de resumen.

    Captura de pantalla en la que se muestra el panel de resultados de una consulta a la base de datos de muestra.

Ahora que ya sabes cómo clonar una base de datos mediante el uso de instantáneas de discos persistentes, te recomendamos que intentes clonar una base de datos por medio de una copia de seguridad y restablecimiento. Para completar el instructivo de este segundo método, debes borrar la base de datos que clonaste desde la instancia sql-server-test.

Borra la base de datos clonada

Para borrar la base de datos clonada que creaste mediante las instantáneas de discos, realiza los siguientes pasos.

Asistente de SSMS

  1. En la sesión de RDP conectada a tu instancia sql-server-test, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-test.
  2. En el explorador de objetos, expande Bases de datos, haz clic con el botón derecho en la base de datos WorldWideImporters y, luego, selecciona Eliminar.
  3. En el asistente Borrar objeto, asegúrate de que la casilla de verificación Close existing connections esté seleccionada.
  4. Haz clic en Aceptar.

Transact-SQL

  1. En la sesión de RDP conectada a tu instancia sql-server-test, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-test.
  2. Para cerrar todas las conexiones a la base de datos WideWorldImporters y borrarla, copia la siguiente secuencia de comandos en una ventana de consulta nueva, haz clic con el botón derecho en el código y, luego, en Ejecutar:

    USE [master]
    GO
    ALTER DATABASE [WideWorldImporters] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    DROP DATABASE [WideWorldImporters]
    GO
    

    Una vez que se haya borrado la base de datos, puedes cerrar la ventana de consulta sin guardar. Puedes hacer clic en Actualizar  en el explorador de objetos para confirmar que se borró la base de datos.

Clona mediante copia de seguridad y restablecimiento

Un segundo método para clonar una base de datos de SQL Server que se ejecuta en Compute Engine consiste en usar la copia de seguridad y restablecimiento nativa de SQL Server. Si usas este enfoque, transfieres la copia de seguridad mediante Cloud Storage.

En esta sección del instructivo, se usan los recursos que creaste en la sección Clona la base de datos mediante instantáneas de disco de Compute Engine de este instructivo. Si no completaste esa sección, debes hacerlo antes de continuar.

En esta sección del instructivo, harás lo siguiente:

  • Crearás un bucket de Cloud Storage.
  • Crearás una copia de seguridad de la base de datos en el servidor de producción.
  • Copiarás el archivo de copia de seguridad del servidor de producción en Cloud Storage.
  • Copiarás el archivo de copia de seguridad desde Cloud Storage en el servidor de prueba.
  • Restablecerás la copia de seguridad en la instancia de prueba.

En el siguiente diagrama, se muestra cómo se clona una base de datos mediante la transferencia de una copia de seguridad con Cloud Storage.

Diagrama en el que se muestra la configuración para clonar una base de datos de SQL Server con Cloud Storage.

Debido a que los sistemas fuera de Google Cloud pueden tener acceso a Cloud Storage, puedes usar este enfoque para clonar bases de datos desde instancias externas de SQL Server.

Crea un bucket de Cloud Storage

Debes crear un depósito de Cloud Storage que almacene los archivos de copia de seguridad mientras los transfieres de la instancia sql-server-prod a la instancia sql-server-test.

Console

  1. En la consola de Cloud, ve a la página Navegador de Cloud Storage.

    Ir a la página Navegador de Cloud Storage

  2. Haz clic en Crear depósito.

  3. Asigna el nombre project-name-depósito al depósito.

    Reemplaza lo siguiente:

    • project-name: Es el ID de tu proyecto de Google Cloud.
  4. Expande Elige una clase de almacenamiento predeterminada y, luego, selecciona Regional.

  5. En Ubicación, selecciona us-east1.

  6. Haz clic en Crear.

Cloud Shell

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Crea un bucket de Cloud Storage en la misma región que las instancias de VM:

    gsutil mb -l "${REGION}" "gs://$(gcloud config get-value project)-bucket"
    

Realiza una copia de seguridad completa de un momento determinado de la base de datos

En tu entorno de producción, es posible que ya realices copias de seguridad. Puedes usar estas copias de seguridad como base para clonar tu base de datos. En este instructivo, realizarás una copia de seguridad de solo copia, de forma que no afecte ninguna programación existente de copias de seguridad completas o incrementales.

Asistente de SSMS

  1. En la sesión de RDP conectada a tu instancia sql-server-prod, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-prod.
  2. En el explorador de objetos, expande Bases de datos, haz clic con el botón derecho en la base de datos WorldWideImporters y selecciona Tareas > Hacer una copia de seguridad.
  3. En el asistente Copia de seguridad de base de datos (Back Up Database), asegúrate de que los siguientes valores estén configurados:
    • El Tipo de copia de seguridad (Back Up type) está configurado como Completa (Full).
    • Copy-only backup (Copia de seguridad de solo copia) está seleccionado.
    • Back up to (Crear copia de seguridad en) está configurado como Disk (Disco).
  4. Para agregar un archivo de copia de seguridad, haz clic en Agregar (Add).
  5. En el campo Destino (Destination), ingresa D:\sql-server-data\WideWorldImporters-copy.bak.

    Captura de pantalla que muestra el cuadro de diálogo Back Up Database.

  6. Selecciona la página Opciones multimedia (Media Options) y, luego, Overwrite all existing backup sets.

  7. Selecciona la página Opciones de copia de seguridad y, luego, cambia Establecer la compresión de copia de seguridad a Comprimir copia de seguridad.

  8. Para crear la copia de seguridad, haz clic en Aceptar.

    La copia de seguridad tardará unos minutos en crearse.

Transact-SQL

  1. En la sesión de RDP conectada a tu instancia sql-server-prod, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-prod.
  2. Para realizar una copia de seguridad comprimida de solo copia de la base de datos de WideWorldImporters en el archivo d:\sql-server-data\WideWorldImporters-copy.bak, copia la siguiente secuencia de comandos en una ventana de consulta nueva, haz clic con el botón derecho en el código y, luego, en Ejecutar.

    BACKUP DATABASE [WideWorldImporters]
       TO  DISK = N'd:\sql-server-data\WideWorldImporters-copy.bak'
       WITH  COPY_ONLY, NOFORMAT, INIT,
       NAME = N'WideWorldImporters-Full Database Backup',
       SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 10
    GO
    

    Espera unos minutos para que el servidor cree la copia de seguridad. Una vez que se haya completado la copia de seguridad de la base de datos, puedes cerrar la ventana de consulta sin guardar.

Copia el archivo de copia de seguridad en Cloud Storage

  1. En la sesión de RDP conectada a tu instancia sql-server-prod, abre una ventana de Windows PowerShell.
  2. Copia el archivo de copia de seguridad en el bucket de Cloud Storage que creaste antes:

    gsutil cp -n d:\sql-server-data\WideWorldImporters-copy.bak "gs://$(gcloud config get-value project)-bucket/"
    
  3. Sal de PowerShell.

    exit
    

Copia el archivo de copia de seguridad de Cloud Storage en sql-server-test

  1. En la sesión de RDP conectada a tu instancia sql-server-test, abre una ventana de Windows PowerShell.
  2. Copia el archivo de copia de seguridad en el bucket de Cloud Storage que creaste antes:

    gsutil cp "gs://$(gcloud config get-value project)-bucket/WideWorldImporters-copy.bak" d:\sql-server-data\
    
  3. Sal de PowerShell.

    exit
    

Tu instancia de prueba ahora tiene la copia de seguridad completa de tu base de datos en su disco local.

Restablece la copia de seguridad

Ahora puedes restablecer la copia de seguridad completa en la unidad D (data) de la instancia sql-server-test.

Asistente de SSMS

  1. En la sesión de RDP conectada a tu instancia sql-server-test, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-test.
  2. En el explorador de objetos, haz clic con el botón derecho en Bases de datos y, luego, selecciona Restaurar base de datos.
  3. En Fuente, selecciona Dispositivo y, luego, haz clic en el botón […] junto al nombre del dispositivo.
  4. En el cuadro de diálogo Seleccionar dispositivos de copia de seguridad, selecciona Archivo en la lista Tipo de medio de copia de seguridad y, luego, haz clic en Agregar.
  5. En el selector de archivos, navega hasta D:\sql-server-data, haz clic en el archivo WideWorldImporters-copy.bak y, luego, en Aceptar.
  6. Haz clic en Aceptar para cerrar el cuadro de diálogo Seleccionar dispositivos de copia de seguridad.

    Ahora, se propagará el cuadro de diálogo Restaurar base de datos (Restore Database) con datos sobre la copia de seguridad de la base de datos de WideWorldImporters.

  7. En Seleccionar una página (Select a page), haz clic en Archivos (Files).

  8. Selecciona Reubicar todos los archivos en la carpeta (Relocate all files to folder).

  9. En los campos Carpeta de archivos de datos (Data file folder) y Carpeta de archivos de registro (Data file folder), ingresa D:\sql-server-data\wideworldimporters.

    Captura de pantalla en la que se muestra el cuadro de diálogo Restaurar base de datos.

  10. Para iniciar la operación de restablecimiento, haz clic en Aceptar.

    Cuando finalice el proceso, verás el mensaje Database 'WideWorldImporters' restored successfully.

Transact-SQL

  1. En la sesión de RDP conectada a tu instancia sql-server-test, abre Microsoft SQL Server Management Studio y, luego, conéctate al motor de la base de datos sql-server-test.
  2. Selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva.
  3. Copia el siguiente comando de T-SQL para iniciar un restablecimiento desde el archivo de copia de seguridad que copiaste de Cloud Storage y restablecer la base de datos y el archivo de registro en el directorio D:\sql-server-data\wideworldimporters:

    USE [master]
    GO
    
    RESTORE DATABASE [WideWorldImporters]
      FROM  DISK = N'D:\SQL-SERVER-DATA\WideWorldImporters-copy.bak'
      WITH  FILE = 1,
      MOVE N'WWI_Primary' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters.mdf',
      MOVE N'WWI_UserData' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters_UserData.ndf',
      MOVE N'WWI_Log' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters.ldf',
      MOVE N'WWI_InMemory_Data_1' TO
        N'D:\SQL-SERVER-DATA\WideWorldImporters\WideWorldImporters_InMemory_Data_1',
      NOUNLOAD,
      STATS = 5
    GO
    
  4. Haz clic con el botón derecho en el código y, luego, en Ejecutar.

    Después de unos minutos, se completará el restablecimiento de la base de datos. Puedes hacer clic en Actualizar  en el explorador de objetos para ver si la base de datos se enumera en el árbol de las bases de datos. Una vez que se complete el restablecimiento de la base de datos, puedes cerrar la ventana de consulta sin guardar.

Para demostrar que la base de datos sea funcional, puedes ejecutar una consulta.

  1. En Microsoft SQL Management Studio, selecciona Archivo > Nuevo > Consulta con conexión actual para abrir una ventana de consulta nueva y, luego, copia el siguiente código:

    SELECT top(100)
      i.InvoiceDate, i.InvoiceID, i.CustomerID, c.CustomerName,
      i.ConfirmedDeliveryTime, i.ConfirmedReceivedBy
    FROM
      WideWorldImporters.Sales.Invoices i
      JOIN WideWorldImporters.Sales.Customers c
      ON i.CustomerID=c.CustomerID
    WHERE i.ConfirmedDeliveryTime IS NOT NULL
    ORDER BY i.InvoiceDate desc;
    

    Mediante esta consulta, se recupera la información de resumen de las 100 facturas entregadas más recientes.

  2. Haz clic con el botón derecho en la ventana de consulta y, luego, en Ejecutar.

    En el panel Results (Resultados), se muestra la información del resumen.

    Captura de pantalla en la que se muestra el panel de resultados de una consulta a la base de datos de muestra.

Usa Cloud SQL como destino de clonación

Si la base de datos de destino está alojada en Cloud SQL y la base de datos de origen se encuentra en Compute Engine, el único mecanismo admitido para realizar la clonación es exportar la base de datos a Cloud Storage y, luego, importarla a Cloud SQL.

Para este instructivo, vuelve a usar la copia de seguridad que creaste durante la sección anterior.

Crea una instancia de Cloud SQL para SQL Server.

  1. Abra Cloud Shell.

    Abra Cloud Shell

  2. Crea una instancia de Cloud SQL para SQL Server que ejecute la misma versión de la base de datos que tu instancia de sql-server-prod:

    gcloud sql instances create sqlserver-cloudsql  \
      --database-version=SQLSERVER_2022_STANDARD \
      --cpu=2 \
      --memory=5GB \
      --root-password=sqlserver12@ \
      --region=${REGION}
    

    Esto crea una instancia con el usuario raíz de sqlserver con una contraseña sqlserver12@.

Actualiza permisos de objetos

Los permisos correctos deben configurarse en el bucket de Cloud Storage y en el objeto de copia de seguridad para que la cuenta de servicio de Cloud SQL pueda leerlos. Estos permisos se configuran de forma automática cuando usas la consola de Cloud para importar el objeto o puedes configurarlos con los comandos de gcloud.

  1. Abra Cloud Shell.

    Abra Cloud Shell

  2. Configura una variable de entorno que contenga la dirección de la cuenta de servicio de la instancia de Cloud SQL:

    CLOUDSQL_SA="$(gcloud sql instances describe sqlserver-cloudsql --format='get(serviceAccountEmailAddress)')"
    
  3. Agrega la cuenta de servicio a la LCA del bucket como escritor y al objeto de exportación como lector:

    gsutil acl ch -u "${CLOUDSQL_SA}":W "gs://$(gcloud config get-value project)-bucket/"
    gsutil acl ch -u "${CLOUDSQL_SA}":R \
        "gs://$(gcloud config get-value project)-bucket/WideWorldImporters-copy.bak"
    

Importa la base de datos exportada

  1. Abre Cloud Shell

    Abra Cloud Shell

  2. Importa el archivo exportado a tu instancia de Cloud SQL:

    gcloud sql import bak sqlserver-cloudsql \
        "gs://$(gcloud config get-value project)-bucket/WideWorldImporters-copy.bak" \
        --database WideWorldImporters
    

    Cuando se te solicite, ingresa y.

  3. Instala el paquete de herramientas de SQL Server:

    sudo apt install -y mssql-tools
    

    Si aceptas los términos de la licencia, ingresa yes cuando se te solicite.

    Usa estas herramientas a fin de conectarte a Cloud SQL desde Cloud Shell para que puedas ejecutar consultas en la instancia de Cloud SQL.

  4. Conecta el proxy de Cloud SQL a tu instancia de SQL Server:

    CONNECTION_NAME=$(gcloud sql instances describe sqlserver-cloudsql --format='value(connectionName)')
    cloud_sql_proxy -instances=${CONNECTION_NAME}=tcp:1433 &
    
  5. Para verificar que la base de datos clonada funcione, ejecuta una consulta:

    /opt/mssql-tools/bin/sqlcmd -U sqlserver -S 127.0.0.1 -Q \
      'SELECT top(100)
        i.InvoiceDate, i.InvoiceID, i.CustomerID, LEFT(c.CustomerName,20) CustomerName,
        i.ConfirmedDeliveryTime, LEFT(i.ConfirmedReceivedBy,20) ConfirmedReceivedBy
      FROM
        WideWorldImporters.Sales.Invoices i
        JOIN WideWorldImporters.Sales.Customers c
        ON i.CustomerID=c.CustomerID
      WHERE i.ConfirmedDeliveryTime IS NOT NULL
      ORDER BY i.InvoiceDate desc;'
    

    Cuando se te solicite, ingresa la contraseña del usuario de sqlserver del servidor de base de datos sqlserver-cloudsql (sqlserver12@).

    Mediante esta consulta, se recupera la información de resumen de las 100 facturas entregadas más recientes.

    Este es el resultado:

    InvoiceDate      InvoiceID   CustomerID  CustomerName         ConfirmedDeliveryTime                  ConfirmedReceivedBy
    ---------------- ----------- ----------- -------------------- -------------------------------------- --------------------
          2016-05-30       70349         581 Wingtip Toys (Munich            2016-05-31 07:05:00.0000000 Youssef Eriksson
          2016-05-30       70350         123 Tailspin Toys (Roe P            2016-05-31 07:10:00.0000000 Ella Zvirbule
          2016-05-30       70351         175 Tailspin Toys (San A            2016-05-31 07:15:00.0000000 Julio Correa
          2016-05-30       70352        1029 Veronika Necesana               2016-05-31 07:20:00.0000000 Veronika Necesana
          2016-05-30       70353        1014 Narendra Tickoo                 2016-05-31 07:25:00.0000000 Narendra Tickoo
          2016-05-30       70354         930 Shantanu Huq                    2016-05-31 07:30:00.0000000 Shantanu Huq
          2016-05-30       70355         963 Be Trang                        2016-05-31 07:35:00.0000000 Be Trang
          2016-05-30       70356         567 Wingtip Toys (Jerome            2016-05-31 07:40:00.0000000 Severins Polis
          2016-05-30       70357         510 Wingtip Toys (Grabil            2016-05-31 07:45:00.0000000 Manish Ghosh
    ...
    

Limpia

Para evitar que se apliquen cargos a la cuenta de Google Cloud por los recursos que se usaron en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?