VENTAS: 1-800-867-1389

Migrar a SQL Server en una máquina virtual de Azure

Actualizado: marzo de 2014

Este tema proporciona información sobre cómo migrar una base de datos de SQL Server local existente creada en la plataforma de Windows Server para SQL Server en máquinas virtuales de Azure (VM). También incluye un flujo de trabajo de decisiones de cuándo ejecutar la aplicación de SQL Server en una máquina virtual en la nube o cuándo migrar la base de datos SQL Server existente a base de datos SQL de Azure (base de datos SQL).

SQL Server en una Máquina virtual permite reducir el costo total de propiedad de una implementación, administración y mantenimiento de aplicaciones empresariales al migrar fácilmente estas aplicaciones a Azure. La migración de aplicaciones existentes de SQL Server a Máquinas virtuales de Azure requiere unos cambios mínimos en el código o incluso ningún cambio. Con SQL Server en una Máquina virtual, los administradores y desarrolladores pueden seguir usando las mismas herramientas de desarrollo y administración que usan de forma local.

Autores: Selcin Turkarslan
Revisores: Evgeny Krivosheev, Paolo Salvatori, Lindsey Allen, Steve Howard

Secciones de este artículo

El uso de SQL Server en una Máquina virtual de Azure puede habilitar muchos de los escenarios locales en la nube:

  • Desarrollo rápido de aplicaciones y pruebas: desarrolle una aplicación de base de datos que requiera alguna validación en un entorno similar al de producción. En lugar de adquirir hardware nuevo para realizar la validación o la prueba de la nueva aplicación, use SQL Server en una Máquina virtual. Basta con crear una máquina virtual usando la imagen de la plataforma que contiene SQL Server o cargar su propia imagen en Azure. Después, conéctese a la nueva máquina, mueva los datos y configure la aplicación, pruebe y realice las correcciones necesarias.

  • Coste total de propiedad de una plataforma de virtualización: mueva la plataforma de virtualización local existente a Azure. En lugar de comprar hardware nuevo para ejecutar el creciente número de aplicaciones empresariales en su propia plataforma de virtualización local, muévalas a Azure aprovechando la infraestructura de SQL Server en una Máquina virtual de Azure.

  • Escala rápida a petición: obtenga recursos adicionales de equipo, almacenamiento y red para atender los picos estacionales de uso de las aplicaciones. En lugar de comprar hardware adicional que solo se necesita durante un período de tiempo determinado, use la infraestructura de SQL Server en Máquinas virtuales de Azure.

  • Disponibilidad y movilidad de datos: al hospedar bases de datos de SQL Server en máquinas virtuales de Azure, están disponibles tanto para las aplicaciones locales como para las de nube.

En el flujo de trabajo de decisiones siguiente se explica cuándo elegir SQL Server en una Máquina virtual y Base de datos SQL de Azure:

  • En el caso de aplicaciones de base de datos nuevas, use Base de datos SQL de Azure (Base de datos SQL) o SQL Server en una Máquina virtual de Azure:

    • Si Base de datos SQL admite todas las características necesarias, aprovisione una nueva instancia de Base de datos SQL en Azure. Desarrolle la nueva aplicación de base de datos mediante Azure SDK y complementos para Visual Studio, Java, PHP o Node.js. Implemente su aplicación en Azure y cree tablas en la base de datos SQL.

    • Si la base de datos SQL no admite todas las características necesarias y no desea invertir en cambios de diseño en la base de datos de la aplicación, aprovisione una nueva máquina virtual con la imagen de la plataforma SQL Server suministrada en el nuevo Portal de administración. Cree un paquete de implementación de base de datos mediante SQL Server Data Tools. Implemente este paquete de base de datos en SQL Server en una Máquina virtual. Puede administrar, actualizar y supervisar la base de datos mediante las herramientas administrativas tradicionales, como SQL Server Management Studio.

  • En el caso de aplicaciones de base de datos existentes, identifique primero qué bases de datos desea migrar a SQL Server en Máquinas virtuales de Azure. Después, use una de estas dos opciones:

    • Convierta las máquinas físicas o virtuales a VHD Hyper-V mediante un asistente de máquina física a virtual (P2V) o de máquina virtual a virtual (V2V) de System Center 2012 Virtual Machine Manager. Cargue archivos VHD al almacenamiento de Azure mediante el cmdlet Add-AzureVHD. Después puede implementar una nueva máquina virtual usando la VHD cargada. Puede administrar, actualizar y supervisar la base de datos mediante las herramientas administrativas tradicionales, como SQL Server Management Studio.

    • Aprovisione una nueva Máquina virtual con la imagen de la plataforma SQL Server y los recursos de proceso de nube de capa de aplicación presentes en el Portal de administración de Azure. Cree un paquete de implementación de base de datos mediante SQL Server Data Tools y SQL Server Management Studio. Migre la capa de aplicación existente al proyecto de Azure mediante el SDK de Azure y complementos para Visual Studio, Java, PHP o Node.js. Implemente una capa de aplicación en Azure y acceda a sus datos en la nube.

Al migrar la base de datos y los datos a SQL Server en una Máquina virtual de Azure, siga estos pasos en el orden especificado:

  1. Prepare los archivos locales de esquema y de datos de la base de datos mediante DAC, copia de seguridad o separación. Para obtener más información, vea Cómo preparar el esquema y los datos de forma local y cargarlos en una instancia de SQL Server en una Máquina virtual a continuación.

  2. Opcionalmente, comprima y cifre los archivos antes de transmitirlos a Azure.

  3. Transmita los archivos de esquema, datos y registro de la base de datos a Azure. Si usa el cmdlet Add-AzureVHD, ponga primero los archivos en una unidad de disco duro virtual (VHD) y cargue después la VHD a Azure. Para obtener más información, vea Cómo mover el esquema y el archivo de datos de una base de datos a Máquina virtual de Azure a continuación.

  4. Cargue el esquema y el archivo de datos de la base de datos a SQL Server en una Máquina virtual. Para obtener más información, vea Cómo preparar el esquema y los datos de forma local y cargarlos en una instancia de SQL Server en una Máquina virtual a continuación.

  5. Vuelva a crear los metadatos que las herramientas de creación no pudieron crear en SQL Server en una Máquina virtual de Azure.

A partir del lanzamiento de SQL Server 2014, también puede usar el asistente Implementar una base de datos SQL Server a una máquina virtual de Azure en SQL Server Management Studio para implementar una base de datos de una instancia del motor de base de datos SQL Server en una máquina virtual de Azure. Para obtener más información, vea Implementar una base de datos de SQL Server en una máquina virtual de Azure.

En esta sección se describe cómo preparar los archivos locales de esquema y de datos de la base de datos. Puede elegir entre varias opciones según sus necesidades:

Puede usar una aplicación de capa de datos (DAC) para preparar el archivo de esquema y de datos que se va a transmitir de la instalación local a Azure:

  • Un archivo .DACPAC: un archivo .dacpac incluye las definiciones de todos los objetos de SQL Server (como tablas, vistas y objetos de instancia) asociados a una base de datos de usuario. Un DACPAC se centra en la captura y la implementación del esquema de la base de datos, incluida la actualización de una base de datos existente. Para obtener más información sobre cómo extraer un paquete de aplicación de capa de datos (DAC) de una base de datos de SQL Server existente, vea Extraer una DAC de una base de datos.

  • Un archivo .BACPAC: un archivo .bacpac incluye el esquema de la base de datos junto con los datos almacenados en la base de datos. Un BACPAC se centra en la captura del esquema y los datos. Es el equivalente lógico de una copia de seguridad de base de datos y no se puede usar para actualizar bases de datos existentes. Para obtener más información sobre cómo crear un archivo .bacpac, vea Exportar una aplicación de capa de datos.

Puede exportar el esquema y los datos de una base de datos a un archivo BACPAC. Después, puede importar el esquema y los datos en una base de datos nueva en el servidor de host. Ambas capacidades son compatibles con las herramientas de administración de base de datos: Server Management Studio y la API de DACFx. Para obtener más información, vea Importar un archivo de bacpac para crear una nueva base de datos de usuario y Espacio de nombres Microsoft.SqlServer.Dac en MSDN Library.

Notas:

  • La operación de DAC no cifra los archivos BACPAC o DACPAC automáticamente. Debe asegurarse de que la comunicación entre la instalación local y Azure sea segura. También puede cifrar el archivo bacpac o dacfile por separado para obtener una protección adicional cuando el archivo esté en el almacenamiento de Blob de Azure o en el almacenamiento en disco local.

  • DAC no admite catálogos de texto completo.

  • Para mejorar la seguridad, los inicios de sesión de la autenticación de SQL Server están almacenados en un paquete DAC sin ninguna contraseña. Cuando el paquete se implementa o actualiza, el inicio de sesión se crea como un inicio de sesión deshabilitado con una contraseña generada. Para habilitar los inicios de sesión, use un inicio de sesión que disponga del permiso ALTER ANY LOGIN y emplee ALTER LOGIN para habilitar el inicio de sesión y asignar una nueva contraseña que pueda comunicar al usuario. Esto no es necesario para los inicios de sesión de Autenticación de Windows, ya que SQL Server no administra sus contraseñas.

Para mover una base de datos a otra instancia de SQL Server o a otro servidor, puede usar operaciones de copia de seguridad y restauración. Si tanto SQL Server local como SQL Server en una Máquina virtual tienen la misma versión, puede copiar un archivo de copia de seguridad de la base de datos a la máquina virtual y restaurar después la base de datos. Para obtener más información, vea Realizar copias de seguridad y restaurar bases de datos de SQL Server.

Notas:

  • La copia de seguridad y la restauración son más rápidas que DAC.

  • Puede crear una copia de seguridad comprimida de los datos. Para obtener más información, vea Compresión de copia de seguridad.

  • Puede usar herramientas existentes ya conocidas como el Asistente para copia de seguridad de SQL Server Management Studio, así como herramientas de terceros.

  • Si mueve la base de datos a otra instancia de servidor, debe volver a crear todos los metadatos de las entidades y los objetos dependientes de las bases de datos maestra y msdb en la instancia de servidor de destino. Para obtener más información, vea Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor.

Para mover una base de datos a otra instancia de SQL Server o a otro servidor, puede usar operaciones de separar y adjuntar. Copie los archivos de datos (.mdf, .ndf) y de registro (.ldf) a una carpeta local de la máquina virtual y, a continuación, adjunte la base de datos. Para obtener más información, vea Mover una base de datos mediante Separar y Adjuntar.

Notas:

  • Al separar una base de datos, se quita de la instancia de SQL Server pero queda intacta en sus archivos de datos y en los archivos de registro de transacciones. Necesita que la base de datos de origen esté sin conexión. Esta operación está más indicada para actualizar bases de datos o mover bases de datos muy grandes.

  • No podrá separar una base de datos si se cumple cualquiera de las condiciones siguientes:

    • La base de datos está replicada y publicada.

    • Existe una instantánea de base de datos en la base de datos.

    • Se va a reflejar la base de datos en una sesión de creación de reflejo de la base de datos.

    • La base de datos es sospechosa.

    • La base de datos es una base de datos del sistema.

  • Se recomienda que realice una nueva copia de seguridad completa y que reinicie copias de seguridad diferenciales antes de la separación.

  • Cuando realice las operaciones de desconectar y conectar, puede usar la característica Compresión de datos para ayudar a comprimir los datos dentro de una base de datos y para ayudar a reducir el tamaño de la base de datos. Además, puede utilizar las herramientas independientes de compresión y descompresión en los archivos conectados.

  • Al adjuntar una base de datos a otra instancia de servidor, es posible que tenga que volver a crear una parte o la totalidad de los metadatos de la base de datos, por ejemplo los inicios de sesión y los trabajos, en la otra instancia de servidor; de este modo se proporciona una experiencia coherente a los usuarios y las aplicaciones. Para obtener más información, vea Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor.

Puede usar las siguientes técnicas adicionales para copiar o mover bases de datos entre servidores:

  • Puede usar el Asistente para copiar bases de datos de SQL Server Management Studio con el fin de copiar o mover bases de datos entre distintos servidores o actualizar una base de datos de SQL Server a una versión posterior. Para obtener más información, vea Usar el Asistente para copiar bases de datos. Si quieres utilizar esta herramienta para copiar bases de datos desde entornos locales a Azure, tienes que configurar la Red virtual de Azure para posibilitar la conectividad híbrida.

  • El Asistente para importación y exportación de SQL Server proporciona un método para copiar datos entre orígenes de datos y crear paquetes básicos. Para obtener más información sobre el asistente, vea Asistente para importación y exportación de SQL Server. La finalidad del Asistente para importación y exportación de SQL Server es copiar datos desde un origen a un destino. El asistente también puede crear una base de datos y tablas de destino. Sin embargo, si tiene que copiar diversas bases de datos o tablas, u otros tipos de objetos de bases de datos, debe utilizar el Asistente para copiar bases de datos. Si quieres utilizar el asistente para importación y exportación de SQL Server para copiar bases de datos desde entornos locales a Azure, tienes que configurar la Red virtual de Azure para posibilitar la conectividad híbrida.

  • Puede usar el asistente Generar y publicar scripts para crear scripts con el fin de transferir una base de datos entre instancias del Motor de base de datos de SQL Server. Los scripts generados se pueden ejecutar en otra instancia del Motor de base de datos. También puede usar el asistente para publicar el contenido de una base de datos directamente en un servicio web creado usando Database Publishing Services. Es posible crear scripts para una base de datos completa o limitarlos a objetos específicos. Para obtener más información, vea Asistente Generar y publicar scripts.

  • Puede usar la clase Transfer de la biblioteca de Objetos de administración de SQL Server (SMO). Para obtener más información, vea Transferir datos. SMO permite que las bases de datos de origen y de destino permanezcan en línea, y no es necesario mover los archivos de base de datos hacia o desde el almacenamiento de Blob de Azure en un paso diferente. La desventaja de SMO es que usaría una conexión cliente con la base de datos en uno de los lados, por lo que usaría TDS y sería muy ineficiente para grandes conjuntos de datos.

  • La Tarea Transferir bases de datos puede copiar o mover una base de datos de SQL Server entre dos instancias de SQL Server. La base de datos se puede transferir en modo en línea o sin conexión. Cuando se utiliza el modo en línea, la base de datos permanece adjunta y se transfiere utilizando el Objeto de administración de SQL (SMO) para copiar los objetos de la base de datos. Cuando se utiliza el modo sin conexión, la base de datos se separa, los archivos de la base de datos se copian o se mueven, y la base de datos se adjunta en el destino cuando finaliza la transferencia correctamente.

Puede copiar archivos pequeños (copias de seguridad de base de datos, o archivos BACPAC o DACPAC) a la máquina virtual mediante copiar y pegar mientras está conectado a través de escritorio remoto.

Para transferir archivos grandes, elija una de las opciones siguientes:

  • Use el cmdlet Add-AzureVhd para cargar archivos VHD a Azure. Un archivo VHD puede incluir una base de datos. Para obtener más información, vea Crear y cargar un disco duro virtual que contiene el sistema operativo Windows Server.

  • Cargue el archivo en el almacenamiento de Blob en el mismo centro de datos que la máquina virtual y, después, use el escritorio remoto para conectarse a la máquina virtual y descargue el archivo desde el almacenamiento de Blob. Para obtener más información, vea Descripción del almacenamiento de nube.

  • Copie los archivos de esquema y de datos a una carpeta compartida de la máquina virtual directamente.

  • Use un explorador web para descargar una base de datos desde Internet. Por ejemplo, puede descargar la base de datos AdventureWorks de codeplex

En la tabla siguiente se describen algunos métodos de transferencia comunes que puede usar cuando desee mover archivos a una Máquina virtual de Azure. También se explican las ventajas y desventajas de cada método.

 

Método de transferencia Ventajas Desventajas

Copia del archivo VHD al almacenamiento de blobs de Azure mediante el cmdlet add-AzureVhd.

  • Rápido, optimizado para Azure

  • Las herramientas pueden administrar conexiones no confiables

  • Transferencia segura

  • Microsoft proporciona el cmdlet Add-AzureVhd. Si se necesita una interfaz gráfica de usuario, puede usar las herramientas de terceros actualmente.

  • Antes de usar el cmdlet Add-AzureVhd para cargar un VHD a Azure, debe preparar un VHD y crear y cargar un certificado de administración en el portal.

  • Necesita adjuntar el VHD cargado en una máquina virtual de Azure como un disco de datos.

Copia de archivos al recurso compartido de la máquina virtual

  • Fácil de usar

  • Hay disponibles varias herramientas cliente

  • El archivo se coloca en la máquina virtual directamente

  • Necesita una conexión VPN.

  • Solo unas pocas herramientas de copia de archivos admiten reiniciar y reanudar.

Para obtener más información sobre cómo instalar, configurar e implementar SQL Server en una máquina virtual, vea el Tutorial: aprovisionar una máquina virtual de SQL Server en Azure. En este tutorial se describe cómo usar el Portal de administración de Azure para seleccionar e instalar una máquina virtual desde la galería. También se muestra cómo conectarse a la máquina virtual mediante Escritorio remoto y cómo conectarse a SQL Server en la máquina virtual con SQL Server Management Studio.

Para obtener información más completa, vea Preparar la migración a SQL Server en máquinas virtuales Azure y Implementación de SQL Server en máquinas virtuales de Azure.

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft