Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Migrar a SQL Server en una Máquina virtual de Windows Azure

Actualizado: marzo de 2014

A partir del lanzamiento de Windows Azure 2012, puede migrar fácilmente aplicaciones existentes de SQL Server compiladas en la plataforma Windows Server a Máquinas virtuales de Windows Azure. Este tema ofrece información general sobre cómo migrar sus bases de datos locales de SQL Server a la nube a través de SQL Server en Máquinas virtuales (VM) de Windows Azure. 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 de SQL Server existente a Base de datos SQL de Windows 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 Windows Azure. La migración de aplicaciones existentes de SQL Server a Máquinas virtuales de Windows 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.

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

Secciones de este artículo

Cuándo usar SQL Server en una Máquina virtual de Windows Azure

El uso de SQL Server en una Máquina virtual de Windows 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 necesite cierta validación en un entorno 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 Windows Azure. Después, conéctese a la nueva máquina, mueva los datos y configure la aplicación, pruebe y realice las correcciones necesarias.

  • Costo total de propiedad de la plataforma de virtualización: mueva la plataforma de virtualización local existente a Windows 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 Windows Azure aprovechando la infraestructura de SQL Server en una Máquina virtual de Windows 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 Windows Azure.

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

Elegir entre SQL Server en una Máquina virtual de Windows Azure y Base de datos SQL de Windows Azure

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 Windows Azure:

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

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

    • Si Base de datos SQL no admite todas las características necesarias y no desea invertir en cambios de diseño de la base de datos, 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 Windows 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 de VHD al Almacenamiento de Windows Azure mediante la herramienta de línea de comandos CSUpload. 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 Windows 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 Windows Azure mediante Windows Azure SDK y complementos para Visual Studio 2010, Java, PHP o Node.js. Implemente una capa de aplicación en Windows Azure y tenga acceso a los datos en la nube.

Migrar el esquema y los datos de una base de datos a SQL Server en una Máquina virtual de Windows Azure

Al migrar la base de datos y los datos a SQL Server en una Máquina virtual de Windows 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 más adelante.

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

  3. Transmita los archivos de esquema, datos y registro de la base de datos a Windows Azure. Si usa la herramienta CSUpload, ponga primero los archivos en una unidad de disco duro virtual (VHD) y cargue después la VHD a Windows 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 Windows Azure más adelante.

  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 más adelante.

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

Cómo preparar el esquema y los datos de forma local y cargarlos en una instancia de SQL Server en una Máquina virtual

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:

Opción 1: archivos .BACPAC o .DACPAC de aplicaciones de capa de datos

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 Windows 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 bases 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 Windows 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 Windows 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.

Opción 2. Copias de seguridad y restauración

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.

Opción 3. Separar y adjuntar

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.

  • Al realizar operaciones para separar y adjuntar bases de datos, puede usar la característica Compresión de datos para ayudar a comprimir los datos dentro de una base de datos y ayudar a reducir el tamaño de la base de datos. Además, puede utilizar herramientas independientes de compresión y descompresión en los archivos separados.

  • 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.

Opción 4. Otras técnicas de SQL Server

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.

  • 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.

  • 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 Windows 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.

Cómo mover el esquema y el archivo de datos de una base de datos a Máquina virtual de Windows Azure

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 la herramienta de línea de comandos CSUpload (CSUpload.exe) para cargar archivos de VHD a Windows 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.

  • Transfiera el archivo mediante FTP. Para obtener más información acerca de FTP, vea Servicio de publicación FTP.

  • 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 Máquina virtual de Windows 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 Blob de Windows Azure mediante la herramienta CsUpload

  • Rápido, optimizado para Windows Azure

  • Las herramientas pueden administrar conexiones no confiables

  • Transferencia segura

  • Microsoft proporciona la herramienta CSUpload. Si se necesita una interfaz gráfica de usuario, puede usar las herramientas de terceros actualmente.

  • Antes de usar la herramienta CSUpload para cargar un VHD a Windows 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 Windows 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.

Transferencia de archivos FTP

  • Fácil de usar

  • Hay disponibles varias herramientas cliente

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

Puede ser difícil conseguir una transferencia segura.

Para obtener información sobre cómo instalar, configurar e implementar SQL Server en una Máquina virtual, vea Tutorial: Aprovisionar una Máquina virtual de SQL Server en Windows Azure. En este tutorial se describe cómo usar el Portal de administración de Windows 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 Getting Ready to Migrate to SQL Server in Windows Azure Virtual Machines y SQL Server Deployment in Windows Azure Virtual Machines.

Alta disponibilidad y recuperación ante desastres cuando se usa SQL Server en una Máquina virtual de Windows Azure

Vea también

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.