Configuración de Azure SQL Database y Azure SQL Managed Instance

Completado

Ha comprobado que la implementación se ha realizado correctamente y sabe qué recursos están disponibles. Es posible que ahora quiera configurar la instancia administrada de SQL, la base de datos SQL o las bases de datos de una instancia administrada. Estas bases de datos se denominan bases de datos administradas.

Configuración de Azure SQL Managed Instance

Azure SQL Managed Instance es esencialmente una instancia administrada de SQL Server. Muchas de las configuraciones disponibles en SQL Server se aplican aquí. Por ejemplo, puede usar sp_configure y determinadas marcas de seguimiento globales para la configuración. También tiene opciones disponibles en torno a tempdb, model y master. Tiene control sobre la conectividad de red y la configuración.

Configuración de la base de datos

En el caso de las bases de datos administradas en Azure SQL Managed Instance y Azure SQL Database, tiene opciones disponibles con el comando ALTER DATABASE. Hay opciones SET y puede seleccionar el valor dbcompat que prefiera. Este valor puede ayudar en las migraciones. También puede usar el comando ALTER DATABASE para cambiar la edición o el nivel de servicio.

En Azure SQL Database, no tiene acceso a la configuración de archivo subyacente. En Azure SQL Managed Instance, puede realizar el mantenimiento de los archivos. Como en SQL Managed Instance, tiene opciones disponibles para la conectividad de red, la configuración de red y la administración del espacio.

Específicamente en Azure SQL Database, la detección de páginas obsoletas está habilitada y siempre se usa la intercalación del servidor predeterminada de SQL_Latin1_General_CP1_CI_AS. Además, las siguientes opciones predeterminadas están establecidas en ON:

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Administración de trabajos

El Agente SQL Server proporciona un sistema de configuración y programación para los usuarios de SQL Server. Puede lograr una funcionalidad equivalente en Azure SQL con las siguientes opciones:

Agente SQL in SQL Managed Instance

Agente SQL es un servicio totalmente compatible con Azure SQL Managed Instance. Los trabajos del Agente SQL solo se admiten para pasos de trabajo de T-SQL y SQL Server Integration Services. No se admiten los pasos del shell de comandos. Aunque no se admiten las alertas, se admiten notificaciones por correo electrónico mediante el correo de base de datos.

Trabajos elásticos para Azure SQL Database

Azure SQL Database no admite el Agente SQL Server. Pero puede usar el servicio de Azure del agente de trabajo elástico para crear y programar trabajos. Los trabajos son scripts de T-SQL que se pueden ejecutar en muchas bases de datos, incluso de forma paralela.

Azure Automation

Puede usar el servicio Azure Automation para orquestar los procesos a través de un concepto denominado runbook. Un runbook puede estar compuesto de código como PowerShell o Python, y se puede dirigir a cualquier recurso de Azure.

Opciones de configuración restringidas

Los servicios Azure SQL Managed Instance y Azure SQL Database restringen las configuraciones siguientes. Estas restricciones podrían afectar al modo de ejecutar algunas tareas.

  • No puede detener o reiniciar los servidores.
  • No puede usar lo siguiente:
    • Inicialización instantánea de archivos.
    • Páginas bloqueadas en memoria.
    • FILESTREAM y grupos de disponibilidad.
    • Intercalación del servidor. En SQL Managed Instance, puede seleccionar la intercalación del servidor durante la implementación, pero no cambiarla.
    • Parámetros de inicio.
    • Informes de errores y comentarios de los clientes.
    • ALTER SERVER CONFIGURATION.
    • Configuración de ERRORLOG.
  • Se fuerza la seguridad de modo mixto.
  • La auditoría de inicio de sesión se realiza mediante Auditoría de SQL.
  • La cuenta de proxy del servidor no es aplicable.

Azure SQL Managed Instance y SQL Database son ofertas de plataforma como servicio (PaaS). La restricción de estas opciones no debe impedirle usar de forma completa un servicio administrado de SQL Server.

Administración del almacenamiento

En el caso de Azure SQL Managed Instance, hay un tamaño de almacenamiento máximo permitido posible para la instancia en función del SLO elegido. Elija un almacenamiento máximo para la instancia que no supere el tamaño máximo posible. Si alcanza el almacenamiento máximo, es posible que reciba el mensaje 1105 relativo a una base de datos administrada o el mensaje 1133 en relación con la instancia.

Como en SQL Server, el tamaño de cualquier base de datos nueva se basa en el tamaño de la base de datos modelo. La base de datos modelo es un archivo de datos de 100 MB y un archivo de registro de 8 MB. También como en SQL Server, el tamaño del modelo se puede configurar. Puede modificar el tamaño y el número de archivos, pero no tiene el control sobre su ubicación física. Microsoft tiene compromisos sobre el rendimiento de E/S en función de la elección de implementación. Además, como en el nivel de servicio De uso general se usa almacenamiento remoto, el tamaño del archivo de datos y del archivo de registro puede afectar al rendimiento.

En el caso de Azure SQL Database, hay un tamaño máximo posible de los archivos de la base de datos en función del SLO elegido. Elija un tamaño máximo de datos que no supere el tamaño máximo posible. El valor Tamaño máximo de los archivos de bases de datos, tal como lo define la columna sys.database_files.max_size, puede aumentar hasta el valor de Tamaño máximo de datos.

Para comprender esta idea de Tamaño máximo de datos frente a Tamaño máximo, imagine un ejemplo en el que se implementa una base de datos De uso general de 1 TB (Tamaño máximo de datos). Al realizar esta implementación, la base de datos solo requiere aproximadamente 500 GB, no 1 TB. A medida que la base de datos aumenta y se aproxima al valor de Tamaño máximo de datos, el valor Tamaño máximo de los archivos de base de datos también crece hasta el nivel de 1 TB.

El registro de transacciones se suma al tamaño de los datos y se incluye en el costo del almacenamiento. Se trunca periódicamente debido a las copias de seguridad automáticas porque Recuperación acelerada de la base de datos está activada de forma predeterminada. El tamaño máximo del registro siempre es el 30 % del valor Tamaño máximo de datos. Por ejemplo, si Tamaño máximo de datos es 1 TB, el tamaño máximo del registro de transacciones es de 0,3 TB y el total de Tamaño máximo de datos y el tamaño del registro es de 1,3 TB.

El nivel Hiperescala de Azure SQL Database es diferente de los demás niveles de servicio. Crea una base de datos que inicialmente es de 40 GB y crece automáticamente en tamaño hasta el límite de 100 TB. El registro de transacciones tiene una restricción de tamaño fijo de 1 TB.

Directiva y arquitectura de conectividad

Parte de la configuración del servidor lógico de Azure SQL Database o de Azure SQL Managed Instance implica la determinación de la ruta de conexión a las bases de datos.

En el caso de Azure SQL Managed Instance, puede elegir el tipo de conexión o la directiva durante la implementación. En Azure SQL Database, puede elegir el tipo de conexión después de la implementación.

Puede mantener el valor predeterminado de Proxy para las conexiones desde fuera y redireccionamiento para las conexiones dentro de Azure o configurar otra cosa.

Diagram of the connection policies in Azure SQL.

En el nivel más alto, en el modo proxy, todas las conexiones se procesan en proxy a través de la puerta de enlace. En el modo de redireccionamiento, una vez que se ha establecido la conexión y está usando la puerta de enlace, se puede conectar directamente a la base de datos o a la instancia administrada. La puerta de enlace es redirect-find-db en la ilustración anterior.

La conexión directa (redireccionamiento) permite reducir la latencia y mejorar el rendimiento. También es necesario abrir más puertos para permitir la comunicación entrante y saliente en el intervalo de 11000 a 11999.

En el ejercicio siguiente, verá algunos comandos para configurar Azure SQL con la CLI de Azure. Después, verá con más detalle la evaluación de las directivas de conexión de proxy y redireccionamiento.

Comprobación de conocimiento

1.

Si Tamaño máximo de datos en Azure SQL Database es 10 GB, ¿cuál es el tamaño máximo del registro de transacciones?

2.

¿Cuál es la directiva de conexión predeterminada para Azure SQL Database y Azure SQL Managed Instance?