Configurar vínculo con SSMS: Azure SQL Managed Instance

Se aplica a:Azure SQL Managed Instance

Este artículo le enseña a configurar un vínculo entre SQL Server y Azure SQL Managed Instance utilizando SQL Server Management Studio (SSMS). Con el vínculo, las bases de datos de la réplica principal inicial se replican en la réplica secundaria casi en tiempo real.

Una vez creado el vínculo, puede conmutar por error a la réplica secundaria para la migración o la recuperación ante desastres.

Nota:

  • También es posible configurar el vínculo mediante scripts.
  • La configuración de Azure SQL Managed Instance como la principal inicial se encuentra actualmente en versión preliminar y solo se admite a partir de SQL Server 2022 CU10.

Información general

Use la característica de vínculo para replicar bases de datos de la réplica principal inicial a la réplica secundaria. Para SQL Server 2022, la principal inicial puede ser SQL Server o Azure SQL Managed Instance. Para SQL Server 2019 y versiones anteriores, la principal inicial debe ser SQL Server. Una vez configurado el vínculo, las bases de datos de la réplica principal inicial se replican en la réplica secundaria.

Puede dejar el vínculo en su lugar para la replicación continua de datos en un entorno híbrido entre la réplica principal y secundaria, o bien puede conmutar por error la base de datos a la réplica secundaria, migrar a Azure o para la recuperación ante desastres. Para SQL Server 2019 y versiones anteriores, la conmutación por error a Azure SQL Managed Instance interrumpe el vínculo y no se admite la conmutación por recuperación. Con SQL Server 2022, tiene la opción de mantener el vínculo y la conmutación por recuperación entre las dos réplicas: esta característica está actualmente en versión preliminar.

Si tiene previsto usar la instancia administrada secundaria solo para la recuperación ante desastres, puede ahorrar en los costos de licencia activando la ventaja de conmutación por error híbrida.

Siga las instrucciones de este artículo para configurar manualmente el vínculo entre SQL Server y Azure SQL Managed Instance. Una vez creado el enlace, su base de datos de origen obtiene una copia de solo lectura en su réplica secundaria de destino.

Requisitos previos

Nota:

Algunas funciones del vínculo están disponibles con carácter general, mientras que otras están actualmente en versión preliminar. Revise la compatibilidad de versiones para obtener más información.

Para replicar las bases de datos a la réplica secundaria a través del vínculo, necesita los siguientes requisitos previos:

Tenga en cuenta lo siguiente.

  • La característica de vínculo admite una base de datos por vínculo. Para replicar varias bases de datos en una instancia, cree un vínculo para cada base de datos individual. Por ejemplo, para replicar 10 bases de datos en SQL Managed Instance, cree 10 vínculos individuales.
  • La intercalación en SQL Server y SQL Managed Instance debe ser la misma. Una falta de coincidencia en la intercalación podría provocar una discrepancia en el uso de mayúsculas y minúsculas del nombre del servidor e impedir una conexión correcta de SQL Server a SQL Managed Instance.
  • El error 1475 en su principal inicial de SQL Server indica que necesita iniciar una nueva cadena de copias de seguridad creando una copia de seguridad completa sin la opción COPY ONLY.

Permisos

Para SQL Server, debe tener permisos sysadmin.

Para Azure SQL Managed Instance, debe ser miembro del Colaborador de SQL Managed Instance o tener los siguientes permisos para un rol personalizado:

Microsoft.Sql/ resource Permisos necesarios
Microsoft.Sql/managedInstances /lectura, /escritura
Microsoft.Sql/managedInstances/hybridCertificate /action
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /lectura
Microsoft.Sql/managedInstances/hybridLink /lectura, /escritura, /eliminación
Microsoft.Sql/managedInstances/serverTrustCertificates /escritura, /eliminación, /lectura

Preparación de las bases de datos

Si SQL Server es la base de datos principal inicial, debe crear una copia de seguridad de la base de datos. Dado que Azure SQL Managed Instance realiza copias de seguridad automáticamente, omita este paso si SQL Managed Instance es el principal inicial.

Use SSMS para hacer una copia de seguridad de su base de datos en SQL Server. Siga estos pasos:

  1. En SQL Server Management Studio (SSMS), conéctese a SQL Server.
  2. En el Explorador de objetos, haga clic con el botón derecho en la base de datos, pase el ratón por Tareas y seleccione Copia de seguridad.
  3. Elija Completo para tipo de copia de seguridad.
  4. Asegúrese de que la opción Copia de seguridad a tiene la ruta de acceso de copia de seguridad a un disco con suficiente espacio de almacenamiento disponible.
  5. Seleccione Aceptar para completar la copia de seguridad completa.

Para más información, vea Crear una copia de seguridad completa de base de datos.

Nota:

El vínculo solo admite replicar las bases de datos de usuario. No se admite replicar las bases de datos del sistema. Para replicar los objetos de nivel de instancia (almacenados en la base de datos master o msdb), escríbalos y ejecute scripts T-SQL en la instancia de destino.

En los pasos siguientes, use el asistente de vínculo de nueva instancia administrada en SSMS para crear un vínculo entre la réplica principal inicial y la réplica secundaria.

Después de crear el enlace, su base de datos de origen obtiene una copia de solo lectura en su réplica secundaria de destino.

  1. Abra SSMS y conéctese a la principal inicial.

  2. En el Explorador de objetos, haga clic con el botón derecho del ratón en la base de datos que desea vincular a la secundaria, pase el ratón por encima del vínculo Azure SQL Managed Instance y seleccione Nuevo... para abrir el asistente para el vínculo Nueva instancia administrada. Si no se admite la versión de SQL Server, esta opción no estará disponible en el menú contextual.

    Screenshot that shows a database's context menu option to create a new link.

  3. En la página Introduction (Introducción) del asistente, seleccione Next (Siguiente).

  4. En la página Especificar opciones de vínculo, proporcione un nombre para el vínculo; si selecciona varias bases de datos, el nombre de la base de datos se anexa automáticamente al final del nombre que proporcione para que no tenga que incluirlo usted mismo. Active las casillas si desea habilitar la solución de problemas de conectividad y, para SQL Server 2022, si tiene previsto usar el vínculo para la recuperación ante desastres bidireccional. Seleccione Siguiente.

  5. En la página Requisitos, el asistente valida los requisitos para establecer un vínculo con su secundaria. Seleccione Siguiente después de validar todos los requisitos, o resuelva los requisitos que no se cumplen y, a continuación, seleccione Volver a ejecutar validación.

  6. En la página Seleccionar bases de datos, elija la base de datos que desea replicar en la réplica secundaria a través del vínculo. Al seleccionar varias bases de datos, se crean varios grupos de disponibilidad distribuidos, uno para cada vínculo. Seleccione Siguiente.

  7. En la página Especificar réplica secundaria, seleccione Agregar réplica secundaria para agregar la réplica secundaria. Si la principal inicial es SQL Server, se abrirá la ventana Iniciar sesión en Azure. Si la principal inicial es SQL Managed Instance, se abrirá el cuadro de diálogo Conectar al servidor.

    1. Para una instancia principal inicial de SQL Server, inicie sesión en Azure, elija la suscripción, el grupo de recursos y la instancia administrada secundaria de SQL Server en la lista desplegable. Seleccione Iniciar sesión para abrir el cuadro de diálogo Conectar al servidor y, a continuación, conéctese al SQL Managed Instance en el que desea replicar la base de datos. Cuando vea Inicio de sesión correcto en la ventana Iniciar sesión, seleccione Aceptar para cerrar la ventana y vuelva al Asistente para vínculos Nueva Instancia administrada.
    2. Para una SQL Managed Instance principal inicial, conéctese a la instancia de SQL Server en la que desea replicar la base de datos.
  8. Después de agregar la réplica secundaria, use las pestañas del asistente para modificar la configuración del punto de conexión si es necesario y revise la información sobre las copias de seguridad y el punto de conexión de vínculo en las pestañas restantes. Seleccione Siguiente cuando esté listo para continuar.

  9. Si SQL Managed Instance es la principal inicial, la página siguiente del asistente es la página Inicio de sesión en Azure. Vuelva a iniciar sesión si es necesario y, a continuación, seleccione Siguiente. Esta página no está disponible cuando SQL Server es la principal inicial.

  10. En la página Validación, asegúrese de que todas las validaciones son correctas. Si se produce algún error, resuélvalo y vuelva a ejecutar la validación. Cuando esté preparado, seleccione Siguiente.

  11. En la página Resumen, revise la configuración una vez más. Opcionalmente, seleccione Script para generar un script para que pueda volver a crear fácilmente el mismo vínculo en el futuro. Seleccione Finalizar cuando esté listo para crear el vínculo.

  12. En la página Executing actions (Ejecutando acciones), se muestra el progreso de cada acción.

  13. Una vez finalizados todos los pasos, en la página Results (Resultados) se muestran marcas de comprobación junto a las acciones completadas correctamente. Ahora puede cerrar la ventana.

Visualización de una base de datos replicada

Una vez creado el vínculo, la base de datos se replica en la réplica secundaria. Según el tamaño de la base de datos y la velocidad de la red, la base de datos puede estar inicialmente en estado Restauración en la réplica secundaria. Una vez completada la inicialización, la base de datos se restaura en la réplica secundaria y está lista para cargas de trabajo de solo lectura.

En cualquiera de las réplicas, use Explorador de objetos en SSMS para ver el estado Sincronizado de la base de datos replicada. Expanda Alta disponibilidad de Always On y Grupos de disponibilidad para ver el grupo de disponibilidad distribuido que se ha creado para cada vínculo.

Screenshot that shows the state of the SQL Server database and distributed availability group in S S M S.Screenshot that shows the state of the SQL Managed Instance database and distributed availability group.

Independientemente de la instancia principal, también puede hacer clic con el botón derecho en el grupo de disponibilidad distribuido vinculado en SQL Server y seleccionar Mostrar panel para ver el panel del grupo de disponibilidad distribuido, que muestra el estado de la base de datos vinculada en el grupo de disponibilidad distribuido.

Detener carga de trabajo

Si está listo para migrar o conmutar por error la base de datos a la réplica secundaria, detenga primero las cargas de trabajo de la aplicación en la réplica principal durante las horas de mantenimiento. Esto permite que la replicación de base de datos se ponga al día en la base de datos secundaria para que pueda conmutar por error o migrar a la base de datos secundaria sin pérdida de datos. Asegúrese de que las aplicaciones no confirman transacciones en la principal antes de conmutar por error.

Conmutación por error de una base de datos

Use la conmutación por error entre SQL Server y el asistente Instancia administrada en SSMS para conmutar por error la base de datos de la réplica principal a la réplica secundaria.

Puede realizar una conmutación por error planeada desde la réplica principal o secundaria. Para realizar una conmutación por error forzada, conéctese a la réplica secundaria.

Precaución

  • Antes de realizar la conmutación por error, detenga la carga de trabajo en la base de datos de origen para permitir que la base de datos replicada se ponga completamente al día y realice la conmutación por error sin pérdida de datos. Si realiza una conmutación por error forzada, puede perder datos.
  • La conmutación por error de una base de datos en SQL Server 2019 y versiones anteriores interrumpe y quita el vínculo entre las dos réplicas. No se puede conmutar por recuperación a la principal inicial.
  • La conmutación por error de una base de datos mientras mantiene el vínculo con SQL Server 2022 está actualmente en versión preliminar.

Para conmutar por error la base de datos, siga estos pasos:

  1. Abra SSMS y conéctese a cualquiera de las réplicas.

  2. En Explorador de objetos, haga clic con el botón derecho en la base de datos, mantenga el puntero sobre el vínculo de Azure SQL Managed Instance y seleccione Conmutación por error… para abrir el asistente de Base de datos de conmutación por error a la Instancia administrada. Si tiene varios vínculos de la misma base de datos, expanda Grupos de disponibilidad en Grupos de disponibilidad AlwaysOn en Explorador de objetos y haga clic con el botón derecho en el grupo de disponibilidad distribuido para el vínculo que desea conmutar por error. Seleccione Conmutación por error... para abrir la conmutación por error entre SQL Server y el asistente Instancia administrada para ese vínculo específico.

    Screenshot that shows a database's context menu option for failover.

  3. En la página Introducción, seleccione Siguiente.

  4. En la página Elegir tipo de conmutación por error se muestran detalles sobre cada réplica, el rol de la base de datos seleccionada y los tipos de conmutación por error admitidos. Puede iniciar la conmutación por error desde cualquier réplica. Si elige una conmutación por error forzada, debe activar la casilla para indicar que puede haber una posible pérdida de datos. Seleccione Siguiente.

  5. En la página Iniciar sesión en Azure e Instancia remota, seleccione Iniciar sesión para proporcionar sus credenciales e iniciar sesión en su cuenta de Azure. Seleccione Iniciar sesión para iniciar sesión en la réplica secundaria de SQL Server o SQL Managed Instance, si se le pide que lo haga.

  6. En la página Operaciones posteriores a la conmutación por error, las opciones difieren entre SQL Server 2022 y versiones anteriores.

    1. Para SQL Server 2022, puede optar por detener la replicación entre réplicas y quitar el vínculo y el grupo de disponibilidad distribuido una vez completada la conmutación por error. Si desea mantener el vínculo y continuar replicando datos entre réplicas, deje la casilla desactivada. Si decide quitar el vínculo, también puede activar la casilla para quitar el grupo de disponibilidad si lo creó únicamente para replicar la base de datos en Azure y ya no la necesita. Active las casillas que se ajusten a su escenario y, a continuación, seleccione Siguiente.
    2. Para SQL Server 2019 y versiones anteriores, la opción Quitar el vínculo está activada de forma predeterminada y no se puede desactivar, ya que la conmutación por error a SQL Managed Instance detiene la replicación, interrumpe el vínculo y quita el grupo de disponibilidad distribuido. Active la casilla para indicar que comprende que se quitará el vínculo y, a continuación, seleccione Siguiente.
  7. En la página Resumen, revise las acciones. Opcionalmente, seleccione Script para generar un script para que pueda conmutar por error fácilmente la base de datos con el mismo vínculo en el futuro. Seleccione Finalizar cuando esté listo para conmutar por error la base de datos.

  8. Una vez finalizados todos los pasos, en la página Results (Resultados) se muestran marcas de comprobación junto a las acciones completadas correctamente. Ahora puede cerrar la ventana.

Si decide mantener el vínculo para SQL Server 2022, la base de datos secundaria se convierte en la nueva principal, el vínculo sigue activo y puede conmutar por recuperación a la secundaria.

Si está en SQL Server 2019 y versiones anteriores, o si decide quitar el vínculo de SQL Server 2022, el vínculo se quita y ya no existe después de que se complete la conmutación por error. La base de datos de origen y la base de datos de destino en cada réplica pueden ejecutar ambas una carga de trabajo de lectura/escritura. Son completamente independientes.

Importante

Tras una conmutación por error exitosa a SQL Managed Instance, vuelva a apuntar manualmente la cadena de conexión de su(s) aplicación(es) al FQDN de SQL Managed Instance para completar el proceso de migración o conmutación por error y continuar su ejecución en Azure.

Ver la base de datos tras la conmutación por error

Para SQL Server 2022, si decide mantener el vínculo, puede comprobar la base de datos en Explorador de objetos en SQL Server o SQL Managed Instance. El estado de la base de datos es Sincronizado y existe el grupo de disponibilidad distribuido en Grupos de disponibilidad.

Si quitó el vínculo durante la conmutación por error, puede usar Explorador de objetos para confirmar que el grupo de disponibilidad distribuido ya no existe, pero si eligió mantener el grupo de disponibilidad, la base de datos seguirá siendo Sincronizada.

Solución de problemas

En la sección se proporcionan instrucciones para solucionar problemas relacionados con la configuración y el uso del vínculo.

Errores

Si encuentra un mensaje de error al crear el vínculo o conmutar por error una base de datos, seleccione el error para abrir una ventana con detalles adicionales sobre el error.

Si se produce un error al trabajar con el vínculo, el asistente de SSMS detiene la ejecución en el paso que produjo un error y no se puede reiniciar de nuevo. Solucione el problema y, si es necesario, limpie el entorno para volver al estado original quitando el grupo de disponibilidad distribuido y el grupo de disponibilidad si se creó al configurar el vínculo. A continuación, vuelva a iniciar el asistente para empezar.

Estado incoherente después de la conmutación por error forzada

El uso de la conmutación por error forzada puede dar lugar a un estado incoherente entre las réplicas principal y secundaria, lo que provoca que un escenario de cerebro dividido de ambas réplicas esté en el mismo rol. La replicación de datos produce un error en este estado hasta que el usuario resuelve la situación mediante la designación manual de una réplica como principal y la otra réplica como secundaria.

Para más información sobre la característica de vínculo, revise los siguientes recursos: