Migre una base de datos de SQL Server a SQL Server en una máquina virtual de Azure

SE APLICA A: SQL Server en máquina virtual de Azure

Existen varias formas de migrar una base de datos de usuario de SQL Server local a SQL Server en una máquina virtual (VM). En este artículo se tratan diversos métodos brevemente y se recomienda el mejor de ellos para diversos escenarios.

Nota

Azure tiene dos modelos de implementación diferentes para crear recursos y trabajar con ellos: Resource Manager y el clásico. En este artículo se trata el uso de ambos modelos, pero Microsoft recomienda que la mayoría de las nuevas implementaciones usen el modelo del Administrador de recursos.

Nota

SQL Server 2008 y SQL Server 2008 R2 se aproximan al final de su ciclo de vida de soporte técnico para instancias locales. Para ampliar el soporte, puede migrar la instancia de SQL Server a una máquina virtual de Azure o comprar las actualizaciones de seguridad extendidas para mantenerlo en el entorno local. Para más información, vea Ampliar la compatibilidad de SQL Server 2008 y SQL Server 2008 R2 con Azure

¿Cuáles son los principales métodos de migración?

Los principales métodos de migración son:

  • Realizar una copia de seguridad local con compresión y copiar manualmente el archivo de copia de seguridad en la máquina virtual de Azure.
  • Realizar una copia de seguridad en una dirección URL y restaurarla en la máquina virtual de Azure desde dicha dirección URL.
  • Desasociar los archivos de datos y de registro, copiarlos en Azure Blob Storage y, seguidamente, asociarlos a SQL Server en la máquina virtual de Azure desde la dirección URL.
  • Convertir la máquina física de local a un VHD de Hyper-V, cargarla en Azure Blob Storage y, a continuación, implementarla como una máquina virtual nueva con el VHD cargado.
  • Enviar la unidad de disco duro con el servicio Import/Export de Windows.
  • Si tiene una implementación de grupos de disponibilidad AlwaysOn local, utilice el Asistente para agregar una réplica de Azure para crear una réplica en Azure, ejecute una conmutación por error y dirija a los usuarios a la instancia de base de datos de Azure.
  • Utilice la replicación transaccional de SQL Server para configurar la instancia de Azure SQL Server como suscriptor, deshabilite la replicación y dirija a los usuarios a la instancia de base de datos de Azure.

Sugerencia

También puede utilizar estas mismas técnicas para mover bases de datos entre VM de SQL Server en Azure. Por ejemplo, no hay ninguna manera admitida para actualizar una VM de imagen de la galería de SQL Server desde una versión o edición a otra. En este caso, debe crear una nueva VM con SQL Server con la nueva versión o edición y luego usar una de las técnicas de migración de este artículo para mover las bases de datos.

Elección de un método de migración

Para obtener el mejor rendimiento de transferencia de datos, migre los archivos de base de datos a la máquina virtual de Azure con un archivo de copia de seguridad comprimido.

Para minimizar el tiempo de inactividad durante el proceso de migración de la base de datos, utilice la opción AlwaysOn o la opción de replicación transaccional.

Si no es posible usar los métodos anteriores, migre la base de datos de forma manual. Por lo general, se empieza con una copia de seguridad de base de datos, se sigue con una copia de la copia de seguridad de base de datos en Azure y, después, se restaura la base de datos. También es posible copiar los archivos mismos de la base de datos en Azure y, luego, anexarlos. Existen varios métodos para llevar a cabo este proceso manual de migración de una base de datos a una VM de Azure.

Nota

Al actualizar a SQL Server 2014 o SQL Server 2016 desde versiones anteriores de SQL Server, es preciso considerar si es preciso realizar cambios. Como parte del proyecto de migración es aconsejable solucionar todas las dependencias de características no compatibles con la nueva versión de SQL Server. Para obtener más información sobre los escenarios y las ediciones compatibles, consulte Actualización a SQL Server.

En la tabla siguiente se muestran los principales métodos de migración y se explica en qué circunstancias es más apropiado usar cada uno de ellos.

Método Versión de base de datos de origen Versión de base de datos de destino Restricción del tamaño de copia de seguridad de la base de datos de origen Notas
Realizar una copia de seguridad local con compresión y copiar manualmente el archivo de copia de seguridad en la máquina virtual de Azure SQL Server 2005 o superior SQL Server 2005 o superior Límite de almacenamiento de máquina virtual de Azure Se trata de una técnica sencilla y probada para mover bases de datos entre máquinas.
Realizar una copia de seguridad a una dirección URL y restaurarla en la máquina virtual de Azure desde dicha dirección URL SQL Server 2012 SP1 CU2 o superior SQL Server 2012 SP1 CU2 o superior < 12,8 TB para SQL Server 2016, de lo contrario < 1 TB Este método es solo otra manera de mover el archivo de copia de seguridad a la VM con Azure Storage.
Desasociar y, a continuación, copiar los archivos de datos y de registro en Azure Blob Storage y, a continuación, asociarlos a SQL Server en la máquina virtual de Azure desde una dirección URL SQL Server 2005 o superior SQL Server 2014 o superior Límite de almacenamiento de máquina virtual de Azure Este método se usa cuando se pretenden almacenar estos archivos mediante el servicio de almacenamiento de blobs de Azure y adjuntarlos a SQL Server en una VM de Azure, especialmente con bases de datos muy grandes.
Convertir máquina local en VHD de Hyper-V, cargar en el almacenamiento de blobs de Azure y, a continuación, implementar una nueva máquina virtual con el VHD cargado SQL Server 2005 o superior SQL Server 2005 o superior Límite de almacenamiento de máquina virtual de Azure Se usa cuando el usuario tiene su propia licencia de SQL Server, cuando se migra una base de datos que se va a ejecutar en una versión anterior de SQL Server o cuando se migran bases de datos de usuario y del sistema conjuntamente como parte de la migración de base de datos dependiente de otras bases de datos de usuario o bases de datos del sistema.
Envío de unidad de disco duro con el servicio Import/Export de Windows SQL Server 2005 o superior SQL Server 2005 o superior Límite de almacenamiento de máquina virtual de Azure Use el servicio de importación y exportación de Windows cuando el método de copia manual sea demasiado lento, como por ejemplo, en el caso de bases de datos muy grandes.
Usar el Asistente para agregar réplica de Azure SQL Server 2012 o superior SQL Server 2012 o superior Límite de almacenamiento de máquina virtual de Azure Minimiza el tiempo de inactividad; úselo cuando tenga una implementación local de AlwaysOn.
Uso de la replicación transaccional de SQL Server SQL Server 2005 o superior SQL Server 2005 o superior Límite de almacenamiento de máquina virtual de Azure Úselo cuando necesite minimizar el tiempo de inactividad y no tenga una implementación local de AlwaysOn.

Copia de seguridad y restauración

Haga una copia de seguridad de la base de datos con compresión, copie la copia de seguridad a la VM y, luego, restaure dicha base de datos. Si el archivo de copia de seguridad es mayor que 1 TB, debe crear un conjunto distribuido porque el tamaño máximo de un disco de máquina virtual es 1 TB. Utilice los siguientes pasos generales para migrar una base de datos de usuario con este método manual:

  1. Realice una copia de seguridad completa de la base de datos en una ubicación local.
  2. Cree o cargue una máquina virtual con la versión de SQL Server deseada.
  3. Configure la conectividad según sus requisitos. Consulte Conexión a una máquina virtual de SQL Server en Azure (Resource Manager).
  4. Copie los archivos de copia de seguridad en la máquina virtual con Escritorio remoto, el Explorador de Windows o el comando copy en un símbolo del sistema.

Copia de seguridad en una dirección URL y restauración desde la dirección URL

En lugar de hacer la copia de seguridad en un archivo local, puede usar la copia de seguridad en una dirección URL y luego restaurar desde la dirección URL en la máquina virtual. SQL Server 2016 admite conjuntos de copia de seguridad distribuidos. Se recomiendan para el rendimiento y deben superar los límites de tamaño por blob. En el caso de bases de datos muy grandes, se recomienda usar el servicio Import/Export de Windows .

Desasociación y asociación desde una dirección URL

Desasocie la base de datos y los archivos de registro y transfiéralos a Azure Blob Storage. Asocie la base de datos desde la dirección URL en la VM de Azure. Use este método si desea que los archivos de base de datos físicos residan en Blob Storage, lo que puede resultar útil para las bases de datos de gran tamaño. Utilice los siguientes pasos generales para migrar una base de datos de usuario con este método manual:

  1. Desasocie los archivos de base de datos de la instancia de base de datos local.
  2. Copie los archivos de base de datos desasociados en Azure Blob Storage con la utilidad de línea de comandos AZCopy.
  3. Asocie los archivos de base de datos desde la dirección URL de Azure a la instancia de SQL Server en la máquina virtual de Azure.

Conversión a máquina virtual, carga en una dirección URL e implementación como máquina virtual nueva

Este método se usa para migrar todas las bases de datos de usuario y del sistema de una instancia de SQL Server local a una máquina virtual de Azure. Utilice los siguientes pasos generales para migrar una instancia completa de SQL Server con este método manual:

  1. Convierta las máquinas físicas o virtuales en discos duros virtuales Hyper-V.
  2. Cargue archivos VHD en Azure Storage mediante el cmdlet Add-AzureVHD.
  3. Implemente una máquina virtual nueva mediante el VHD cargado.

Nota

Para migrar una aplicación completa, considere el uso de Azure Site Recovery.

Envío de una unidad de disco duro

Use el servicio Azure Import/Export para transferir grandes cantidades de datos de archivo a Azure Blob Storage en aquellas situaciones en que el proceso de carga a través de la red sea demasiado caro o no sea viable. Con este servicio, se envían una o varias unidades de discos duros que contengan esos datos a un centro de datos de Azure, donde los datos se cargarán a su cuenta de almacenamiento.

Pasos siguientes

Para obtener más información, consulte Introducción a SQL Server en máquinas virtuales de Azure.

Sugerencia

Si tiene alguna pregunta sobre las máquinas virtuales de SQL Server, consulte las Preguntas más frecuentes.

Para obtener instrucciones sobre cómo crear SQL Server en una máquina virtual de Azure a partir de una imagen capturada, consulte Sugerencias y trucos para la "clonación" de máquinas virtuales de SQL Azure a partir de imágenes capturadas en el blog de CSS SQL Server Engineers.