Traslado de datos a SQL Managed Instance
Muchas migraciones implican un período en el que la base de datos local y la base de datos en la nube deben mantenerse sincronizadas. Por ejemplo, puede haber una hora en la que los clientes realicen cambios en ambas bases de datos.
Ha migrado la base de datos de productos comerciales deportivos a Azure SQL Managed Instance. El sitio web ya usa la base de datos en la nube. Estás empezando a reconfigurar los clientes para que usen la nueva base de datos. Ha decidido realizar la transición de los usuarios al nuevo sistema en lotes. Para cada equipo, va a dedicar un tiempo a resolver los problemas antes de migrar los usuarios siguientes. Este enfoque permite solucionar problemas y solucionar problemas sin interrumpir todos los usuarios a la vez. A continuación, volverá a configurar el sistema de análisis de datos para usar la nueva base de datos en Azure. Durante este tiempo, quiere asegurarse de que las bases de datos locales y en la nube se sincronizan cada hora.
Explorará varios métodos para implementar la sincronización de datos. Estos métodos también se pueden emplear para migrar datos de forma selectiva, si solo es necesario transferir un subconjunto de las tablas. Esta flexibilidad permite un enfoque más adaptado a la migración de datos.
Opciones de conectividad con servidores locales
A menudo, quiere mantener los datos en bases de datos locales sincronizadas con Azure SQL Managed Instance. Es posible que desee planificar la migración de las aplicaciones cliente a la nueva base de datos, por ejemplo, lo que significa que hay un período en el que los clientes se conectan tanto a la base de datos antigua como a la nueva.
Antes de elegir un método de sincronización de datos, es importante asegurarse de que tiene conectividad segura. Hay tres opciones de conectividad diferentes disponibles para establecer la comunicación entre equipos locales y recursos en Azure.
- Point-to-Site. Una conexión vpn Gateway de punto a sitio (P2S) le permite crear una conexión segura a la red virtual desde un equipo cliente individual.
- Sitio a sitio. Una puerta de enlace vpn de sitio a sitio se usa para conectar un sitio local completo a la red de Azure.
- ExpressRoute. Azure ExpressRoute permite crear conexiones privadas entre los centros de datos de Azure y la infraestructura local o la infraestructura en un entorno de coubicación. Las conexiones de ExpressRoute no pasan por la red pública de Internet y ofrecen más confiabilidad, velocidades más rápidas, latencias más bajas y mayor seguridad que las conexiones a Internet típicas.
Punto de conexión público
El punto de conexión público para la instancia administrada de SQL ayuda a conectarse a la base de datos desde Internet sin usar una VPN y está diseñado solo para la comunicación de datos. El punto de conexión público para los datos puede coexistir simultáneamente con el punto de conexión privado. Por motivos de seguridad, la implementación permite la separación de tareas (SoD) entre un administrador de base de datos y un administrador de red al habilitar el punto de conexión público.
Para habilitar el punto de conexión público para la instancia administrada, se requieren dos pasos. Para SoD, necesitará dos roles independientes, con los siguientes permisos de base de datos y red, para completar estos pasos:
- Un administrador de bases de datos que tenga permisos de control de acceso basado en rol en el ámbito Microsoft.Sql/managedInstances/* debe ejecutar un script de PowerShell para habilitar el punto de conexión público para la instancia administrada.
- Un administrador de red que tenga permisos de control de acceso basado en rol en el ámbito Microsoft.Network/* debe abrir el puerto 3342 usado por el punto de conexión público en el grupo de seguridad de red (NSG) y proporcionar una ruta UDR para evitar el enrutamiento asimétrico.
Elección de un método de sincronización
Puede usar muchos métodos para sincronizar datos de una instancia administrada de base de datos SQL con un servidor local y viceversa.
Copia de seguridad y restauración nativas
Puede restaurar una base de datos en Azure SQL Managed Instance desde un archivo de Azure Blob Storage mediante la firma de acceso compartido (SAS).
Esto implica crear una credencial con acceso a Azure Blob Storage y, a continuación, usar el BACKUP DATABASE comando con la COPY_ONLY opción . Si la base de datos tiene más de 200 GB, puede usar una copia de seguridad seccionada proporcionando varias ubicaciones de direcciones URL.
BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY
Para restaurar la base de datos en SQL Managed Instance:
RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'
Archivo BACPAC mediante SqlPackage
Un archivo BACPAC es básicamente una versión comprimida de los metadatos y los datos de la base de datos. Aunque este método de implementación es compatible con SQL Database, SQL Managed Instance no admite la migración a través de BACPAC en Azure Portal. Como alternativa, la utilidad SQLPackage debe usarse con el archivo BACPAC.
Programa de copia masiva (BCP)
La utilidad BCP es una herramienta de línea de comandos que exporta tablas a archivos para poder importarlas. Use este enfoque para migrar de una base de datos SQL única a SQL Managed Instance y volver a hacerlo.
Azure Data Factory (ADF)
Azure Data Factory se ha creado para el movimiento y orquestación de datos, centrándose en la ingestión. ADF tiene compatibilidad con Integration Runtime para ejecutar paquetes SSIS y la compatibilidad pública de Internet con SQL Managed Instance.
Replicación transaccional
La replicación transaccional es una manera de mover datos entre servidores de bases de datos conectados continuamente.
El proceso comienza con una instantánea de los datos y los objetos de la base de datos de publicación. Una vez realizada la instantánea inicial, los cambios posteriores en los datos o esquemas del publicador se entregan normalmente a Azure SQL Managed Instance casi en tiempo real a medida que se producen.
Sql Managed Instance es flexible porque puede ser un publicador, un distribuidor y un suscriptor.
La replicación es una de las pocas tecnologías que permite replicar partes de una tabla. Nos referimos a estos elementos de tabla como artículos. A continuación, estos datos se envían a un distribuidor, que es un proveedor de los datos a cualquier número de suscriptores.
Requisitos
- La conectividad usa la autenticación de SQL entre los participantes de la replicación.
- Un recurso compartido de cuenta de Azure Storage para el directorio de trabajo empleado para la replicación.
- Abra el puerto 445 (salida TCP) en las reglas de seguridad de la subred de instancia administrada para acceder al recurso compartido de archivos de Azure.
- Abra el puerto 1433 (salida TCP) si el publicador o distribuidor está en una instancia administrada y el suscriptor es local.
Conexión de aplicaciones a una instancia administrada de SQL
Una instancia administrada de SQL debe colocarse dentro de una subred de red virtual de Azure dedicada a las instancias administradas. Esta implementación proporciona una dirección IP privada segura y la capacidad de conectarse a redes locales.
Los usuarios y las aplicaciones cliente pueden conectarse a la base de datos de instancia administrada a través de Azure Portal, PowerShell, la CLI de Azure y la API REST.
Todas las comunicaciones se cifran y firman mediante certificados. Para comprobar la confiabilidad de las partes de comunicación, las instancias administradas comprueban constantemente estos certificados mediante listas de revocación de certificados. Si se revocan los certificados, la instancia administrada de SQL cierra las conexiones para proteger los datos.