Creación de bases de datos SQL de alta disponibilidad con Azure Stack Hub

Importante

A partir de la compilación 2108 de Azure Stack Hub, los proveedores de recursos SQL y MySQL se ofrecen a las suscripciones a las que se ha concedido acceso. Si desea empezar a usar esta característica o si necesita actualizar desde una versión anterior, abra un caso de soporte técnico y nuestros ingenieros le guiarán a través del proceso de implementación o actualización.

Como operador de Azure Stack Hub, puede configurar máquinas virtuales de servidor para hospedar bases de datos de SQL Server. Una vez que se haya creado un servidor de hospedaje de SQL y Azure Stack Hub lo administre, los usuarios suscritos a servicios de SQL pueden crear fácilmente bases de datos SQL.

En este artículo se muestra cómo usar una plantilla de inicio rápido de Azure Stack Hub para crear un grupo de disponibilidad AlwaysOn de SQL Server, agregarlo como servidor de hospedaje SQL de Azure Stack Hub y, a continuación, crear una base de datos SQL de alta disponibilidad.

Temas que se abordarán:

  • Creación de grupos de disponibilidad AlwaysOn de SQL Server a partir de una plantilla.
  • Configure el grupo de disponibilidad AlwaysOn de SQL Server como servidor de hospedaje de SQL para Azure Stack Hub.
  • Creación de una base de datos SQL de alta disponibilidad.

Se usarán los elementos disponibles de Marketplace para Azure Stack para crear y configurar un grupo de disponibilidad AlwaysOn de SQL Server para dos máquinas virtuales.

Antes de comenzar, asegúrese de que el proveedor de recursos de servidor de SQL Server esté instalado correctamente y de que los siguientes elementos estén disponibles en Marketplace para Azure Stack:

Importante

Todos los elementos siguientes son necesarios para utilizar la plantilla de inicio rápido de Azure Stack Hub.

  • Windows Server 2016 Datacenter.

  • SQL Server 2016 SP1 o SP2 (Enterprise o Developer) en la imagen del servidor de Windows Server 2016.

    Nota:

    No se admite la versión Standard. Al configurar el grupo de disponibilidad AlwaysOn de SQL Server con SQL Server Standard, solo se puede crear una base de datos para un grupo de disponibilidad. Esta limitación hace que la versión Standard no sea adecuada para nuestro escenario. Para más información, consulte el documento que se encuentra aquí.

  • Extensión IaaS de SQL Server, versión 1.3.20180 o superior. La extensión IaaS de SQL instala los componentes que son necesarios para los elementos de Marketplace de SQL Server para todas las versiones de Windows. Permite que los parámetros específicos de SQL se configuren en máquinas virtuales de SQL. Si la extensión no está instalada en el Marketplace local, el aprovisionamiento de SQL generará un error.

Para más información acerca de cómo agregar elementos al Marketplace de Azure Stack Hub, consulte Información general de Azure Stack Marketplace.

Creación de un grupo de disponibilidad AlwaysOn de SQL Server

Siga los pasos de esta sección para implementar el grupo de disponibilidad AlwaysOn de SQL Server mediante la plantilla de inicio rápido de Azure Stack Hub sql-2016-alwayson. Esta plantilla implementa dos instancias de SQL Server Enterprise o Developer en un grupo de disponibilidad AlwaysOn. Crea estos recursos:

  • Un grupo de seguridad de red.
  • Una red virtual.
  • Cuatro cuentas de almacenamiento (una para Active Directory [AD], otra para SQL, otra para el testigo de recurso compartido de archivos y otra para el diagnóstico de máquina virtual).
  • Cuatro direcciones IP públicas (una para AD, dos para cada máquina virtual de SQL y otra para el equilibrador de carga público enlazado al agente de escucha de SQL AlwaysOn).
  • Un equilibrador de carga externo para las máquinas virtuales de SQL con una dirección IP pública enlazada al agente de escucha AlwaysOn de SQL.
  • Una máquina virtual (Windows Server 2016) configurada como controlador de dominio para un nuevo bosque con un único dominio.
  • Dos máquinas virtuales (Windows Server 2016) configuradas con SQL Server 2016 SP1 o SP2 Enterprise o Developer Edition y en clúster. Deben ser imágenes de Marketplace.
  • Una máquina virtual (Windows Server 2016) configurada como el testigo de recurso compartido de archivos para el clúster.
  • Un conjunto que disponibilidad que contiene las máquinas virtuales testigo del recurso compartido de archivos y SQL.
  1. Inicie sesión en el portal de usuario:

    • En el caso de una implementación de sistema integrado, la dirección del portal variará en función de la región y el nombre de dominio externo de la solución. Tendrá el formato de https://portal.<region>.<FQDN>.
    • Si usa el Kit de desarrollo de Azure Stack (ASDK), la dirección del portal es https://portal.local.azurestack.external.
  2. Seleccione +Crear un recurso>Personalizar y, a continuación, Implementación de plantilla.

    Implementación de plantillas personalizadas en el portal de administración de Azure Stack Hub

  3. En la hoja Implementación personalizada, seleccione Editar plantilla>Plantilla de inicio rápido y, a continuación, use la lista desplegable de plantillas personalizadas disponibles para seleccionar la plantilla sql-2016-alwayson. Seleccione Aceptar y Guardar.

    Edición de una plantilla en el portal del administrador de Azure Stack Hub

  4. En la hoja Implementación personalizada, seleccione Editar parámetros y revise los valores predeterminados. Modifique los valores según sea necesario para proporcionar toda la información de los parámetros necesaria y, a continuación, seleccione Aceptar.

    Como mínimo:

    • Proporcione contraseñas complejas para los parámetros ADMINPASSWORD, SQLSERVERSERVICEACCOUNTPASSWORD y SQLAUTHPASSWORD.
    • Escriba el sufijo DNS para la búsqueda inversa todo en minúsculas para el parámetro DNSSUFFIX (azurestack.external para las instalaciones de ASDK anteriores a la versión 2107).

    Edición de parámetros en el portal del administrador de Azure Stack Hub

  5. En la hoja Implementación personalizada, seleccione la suscripción de Azure que se usará y cree un nuevo grupo de recursos o seleccione un grupo de recursos existente para la implementación personalizada.

    A continuación, seleccione la ubicación del grupo de recursos (local para las instalaciones de ASDK anteriores a la versión 2107) y, a continuación, haga clic en Crear. Se validará la configuración de implementación personalizada y, a continuación, se iniciará la implementación.

    Elección de suscripción en el portal del administrador de Azure Stack Hub

  6. En el portal de usuario, seleccione Grupos de recursos y, a continuación, el nombre del grupo de recursos que creó para la implementación personalizada (resource-group en este ejemplo). Vea el estado de la implementación para asegurarse de que todas las implementaciones se han completado correctamente.

    A continuación, revise los elementos del grupo de recursos y seleccione el elemento de la dirección IP pública SQLPIPsql<nombre del grupo de recursos> . Anote la dirección IP pública y el nombre de dominio completo de la dirección IP pública del equilibrador de carga. Deberá proporcionar esta información al operador de Azure Stack Hub para que pueda crear un servidor de hospedaje SQL aprovechando este grupo de disponibilidad AlwaysOn de SQL.

    Nota:

    La implementación de la plantilla tardará varias horas en completarse.

Habilitación de la propagación automática

Una vez que se ha implementado correctamente la plantilla y se ha configurado el grupo de disponibilidad AlwaysON de SQL, debe habilitar la propagación automática en cada instancia de SQL Server del grupo de disponibilidad.

Cuando se crea un grupo de disponibilidad con propagación automática, SQL Server crea automáticamente las réplicas secundarias para cada base de datos en el grupo sin que se requiera más intervención manual. Esta medida garantiza una alta disponibilidad de las bases de datos de AlwaysOn.

Use estos comandos SQL para configurar la propagación automática para el grupo de disponibilidad AlwaysOn. Reemplace <PrimaryInstanceName> por el nombre de la instancia de SQL Server principal, <SecondaryInstanceName> por el nombre de la instancia de SQL Server secundaria y <availability_group_name> por el nombre del grupo de disponibilidad AlwaysOn cuando sea necesario.

En la instancia de SQL principal:

ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<PrimaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO

ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<SecondaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO

Script de la instancia de SQL principal

En las instancias de SQL secundarias:

ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO

Script de la instancia de SQL secundaria

Configuración de autenticación de base de datos independiente

Antes de agregar una base de datos independiente a un grupo de disponibilidad, asegúrese de que la opción de servidor de autenticación de la base de datos independiente se establece en 1 en cada instancia del servidor que hospeda una réplica de disponibilidad para el grupo de disponibilidad. Para obtener más información, consulte contained database authentication (opción de configuración del servidor).

Use estos comandos para establecer la opción del servidor de autenticación de base de datos independiente para cada instancia de SQL Server del grupo de disponibilidad:

EXEC sp_configure 'contained database authentication', 1
GO
RECONFIGURE
GO

Establecimiento de la autenticación de la base de datos independiente

Configuración de un servidor de hospedaje de SQL para Azure Stack Hub

Una vez que el grupo de disponibilidad AlwaysOn de SQL Server se ha creado y configurado correctamente, un operador de Azure Stack Hub debe configurarlo como servidor de hospedaje de SQL para Azure Stack Hub.

Asegúrese de utilizar la dirección IP pública o el nombre de dominio completo para la dirección IP pública del equilibrador de carga SQL que anotó anteriormente, cuando creó el grupo de recursos del grupo de disponibilidad AlwaysOn de SQL (SQLPIPsql<nombre del grupo de recursos> ). Además, tendrá que conocer las credenciales de autenticación de SQL Server utilizadas para tener acceso a las instancias de SQL en el grupo de disponibilidad AlwaysOn.

Nota

Un operador debe ejecutar este paso desde el portal de administración de Azure Stack Hub.

Con la información de inicio de sesión de autenticación de SQL y la dirección IP pública del agente de escucha del equilibrador de carga del grupo de disponibilidad AlwaysOn de SQL, ahora un operador de Azure Stack Hub puede crear un servidor de hospedaje de SQL mediante el grupo de disponibilidad AlwaysOn de SQL.

Asegúrese también de que ha creado planes y ofertas para que la creación de la base de datos AlwaysOn de SQL esté disponible para los usuarios. El operador deberá agregar el servicio Microsoft.SqlAdapter a un plan y crear una nueva cuota específicamente para las bases de datos de alta disponibilidad. Para más información sobre la creación de planes, consulte Introducción a los servicios, planes, ofertas y suscripciones.

Sugerencia

El servicio Microsoft.SqlAdapter no estará disponible para agregarlo a planes hasta que se haya implementado el proveedor de recursos de SQL Server.

Creación de una base de datos SQL de alta disponibilidad

Una vez que el grupo de disponibilidad AlwaysOn de SQL se ha creado, configurado y agregado como servidor de hospedaje SQL de Azure Stack Hub por un operador de Azure Stack Hub, un usuario inquilino con una suscripción que tenga capacidades de base de datos SQL Server puede crear bases de datos SQL que admitan la funcionalidad AlwaysOn. Tales usuarios pueden crear esas bases de datos mediante los pasos de esta sección.

Nota:

Ejecute estos pasos en el portal de usuarios de Azure Stack Hub como un usuario inquilino con una suscripción que proporcione funciones de SQL Server (servicio Microsoft.SQLAdapter).

  1. Inicie sesión en el portal de usuario:

    • En el caso de una implementación de sistema integrado, la dirección del portal variará en función de la región y el nombre de dominio externo de la solución. Tendrá el formato de https://portal.<region>.<FQDN>.
    • Si usa el Kit de desarrollo de Azure Stack (ASDK), la dirección del portal es https://portal.local.azurestack.external.
  2. Seleccione +Crear un recurso>Datos y almacenamiento y, a continuación, SQL Database.

    Proporcione la información de la propiedad de base de datos necesaria. Esta información incluye el nombre, la intercalación, el tamaño máximo y la suscripción, así como el grupo de recursos y la ubicación que se usará para la implementación.

    Creación de una base de datos en el portal de usuarios de Azure Stack Hub

  3. Seleccione SKU y, a continuación, elija la SKU del servidor de hospedaje de SQL apropiado que se usará. En este ejemplo, el operador de Azure Stack Hub ha creado la SKU Enterprise-HA para que admita la alta disponibilidad de los grupos de disponibilidad AlwaysOn de SQL.

    Selección de SKU en el portal de usuarios de Azure Stack Hub

  4. Seleccione Inicio de sesión>Create a new login (Crear un nuevo inicio de sesión) y, a continuación, proporcione las credenciales de autenticación de SQL que se usarán para la nueva base de datos. Cuando termine, seleccione Aceptar y, a continuación, en Crear para comenzar el proceso de implementación de la base de datos.

    Creación de un inicio de sesión en el portal de usuarios de Azure Stack Hub

  5. Cuando la implementación de la base de datos SQL se complete correctamente, revise las propiedades de la base de datos para detectar la cadena de conexión que se usará para conectarse a la nueva base de datos de alta disponibilidad.

    Visualización de la cadena de conexión en el portal de usuarios de Azure Stack Hub

Pasos siguientes

Actualización del proveedor de recursos de SQL