Pausa automática y reanudación automática en el nivel de proceso sin servidor de Azure SQL Database

Se aplica a:Azure SQL Database

Este artículo explica el comportamiento de pausa automática y reanudación automática para la capa de computación serverless en Azure SQL Database, y cómo interactúa con diversas funciones de Azure SQL Database.

Actualmente, el nivel de servicio de Propósito General es el único que soporta pausas y reanudaciones automáticas sin servidor.

Para monitorizar el estado de una base de datos sin servidor, consulte Monitorear pausa y reanudar estado.

Pausa automática

La pausa automática comienza si se cumplen todas las siguientes condiciones durante el retardo de pausa automática:

  • Número de sesiones = 0
  • CPU = 0 para la carga de trabajo del usuario que se ejecuta en el grupo de recursos del usuario

Por defecto, hay un retraso de pausa automática de una hora.

Funciones que previenen la pausa automática

Si usas alguna de las siguientes funciones, desactiva la pausa automática. La base de datos permanece en línea independientemente de cuánto tiempo esté inactiva. Las siguientes características impiden la pausa automática, pero sí soportan el escalado automático:

Los siguientes escenarios de características también impiden la pausa automática:

  • Base de datos de sincronización utilizada en SQL Data Sync. A diferencia de la base de datos de sincronización, las bases de datos centrales y de miembros admiten pausas automáticas.
  • En trabajos elásticos, no se admite una base de datos sin servidor con pausa automática habilitada como base de datos de trabajos. Las bases de datos serverless a las que se dirigen los trabajos elásticos sí admiten la pausa automática. Las conexiones de trabajo reanudan una base de datos.
  • Se impide temporalmente la pausa automática durante la implementación de algunas actualizaciones de servicio, que requiere que la base de datos esté en línea. En tales casos, se vuelve a permitir la pausa automática una vez finalizada la actualización del servicio.

Reanudación automática

La reanudación automática comienza si alguna de las siguientes condiciones es cierta en cualquier momento:

Feature Desencadenador de reanudación automática
Autenticación y autorización Intento de inicio de sesión
Detección de amenazas Activar o desactivar la configuración de detección de amenazas a nivel de base de datos o servidor.
Modificación de la configuración de detección de amenazas en el nivel de base de datos o servidor.
Detección y clasificación de datos Adición, modificación, eliminación o visualización de las etiquetas de confidencialidad
Auditoría Visualización de registros de auditoría
Actualización o visualización de la directiva de auditoría.
Enmascaramiento de datos Adición, modificación, eliminación o visualización de reglas de enmascaramiento de datos
Cifrado de datos transparente Visualización del estado del cifrado de datos transparente
Evaluación de vulnerabilidades Exámenes iniciados manualmente y exámenes periódicos si está habilitado
Almacén de datos de consulta (rendimiento) Modificación o visualización de la configuración de Almacén de consultas
Recomendaciones de rendimiento Visualización o aplicación de recomendaciones de rendimiento
Ajuste automático Aplicación y verificación de recomendaciones de ajuste automático, como la indexación automática
Copia de base de datos Creación de base de datos como copia.
Exportación a un archivo BACPAC.
Sincronización de datos SQL Sincronización entre la base de datos central y las bases de datos miembro que se ejecutan según una programación configurable o bien de forma manual
Modificación de algunos metadatos de base de datos Añadir o modificar etiquetas de Azure en la base de datos.
Cambio de núcleos virtuales máximos, núcleos virtuales mínimos o retraso de la pausa automática.
SQL Server Management Studio (SSMS) En versiones de SSMS anteriores a la 18.1 y al abrir una nueva ventana de consulta para cualquier base de datos en el servidor, se reanuda cualquier base de datos en pausa automática en el mismo servidor. Este comportamiento no ocurre si usas SSMS versión 18.1 o posterior.

La monitorización, gestión u otras soluciones que realicen cualquiera de estas operaciones activan la reanudación automática. La reanudación automática también se inicia durante el despliegue de algunas actualizaciones de servicio que requieren que la base de datos esté en línea.

Identificación del activador de reanudación automática

El registro de actividad de Azure Monitor muestra los desencadenadores de reanudación automática para las operaciones de reanudar bases de datos en la propiedad Caller del JSON de los eventos Iniciado y Correcto. Para más información, consulte Monitorizar la capa de computación sin servidor.

Latencia

La latencia suele ser del orden de un minuto para reanudar automáticamente y de 1 a 10 minutos para pausar. La latencia de cualquiera de las operaciones puede ser tan baja como el orden de un segundo.

Cifrado transparente de datos gestionado por el cliente

Eliminación o revocación de claves

Si usas cifrado transparente de datos gestionado por el cliente (lleva tu propia clave o BYOK) y la base de datos sin servidor se pausa automáticamente cuando ocurre la eliminación o revocación de la clave, la base de datos permanece en estado de pausa automática. En este caso, después de que la base de datos se reanude la próxima vez, esta dejará de estar accesible en aproximadamente 10 minutos. Si la base de datos pasa a ser inaccesible, el proceso de recuperación es el mismo que para las bases de datos de proceso aprovisionadas. Si la base de datos sin servidor está en línea cuando ocurre la eliminación o revocación de claves, la base de datos también se vuelve inaccesible en aproximadamente 10 minutos, de la misma manera que ocurre con las bases de datos de cómputo provisionadas.

Rotación de claves

Si usas cifrado transparente de datos gestionado por el cliente (BYOK) y activas la pausa automática sin servidor, la base de datos se reanuda automáticamente cada vez que se rotan claves. La base de datos se pausa automáticamente cuando se cumplen las condiciones de pausa automática.

Solución de problemas de la pausa automática

Resolución de problemas de conectividad por reanudación automática

Si una base de datos sin servidor está en pausa, el primer intento de conexión reanuda la base de datos y devuelve un error con el código 40613 que indica que la base de datos no está disponible. Una vez que la base de datos se reanude, intenta de nuevo la conexión. Las bases de datos generalmente se reanudan en menos de un minuto.

Todas las aplicaciones conectadas a la nube deben usar recomendaciones de lógica de reintentos de conexión. Las aplicaciones requieren lógica de reintentos para tener éxito tras errores de conectividad transitoria. La lógica de reintento es especialmente importante para bases de datos serverless, donde los errores temporales de conectividad debidos a la reanudación automática son predecibles.

Para ver las opciones y recomendaciones de lógica de reintento de conexión, consulte:

Pausa automática de resolución de problemas

Si activas la pausa automática y no usas funciones que bloquean la pausa automática, pero la base de datos no se pausa automáticamente tras el periodo de retraso, las sesiones de la aplicación o del usuario podrían estar impidiendo la pausa automática.

Para comprobar si alguna aplicación o sesión de usuario está actualmente conectada a la base de datos, ejecute la siguiente consulta:

SELECT session_id,
       host_name,
       program_name,
       client_interface_name,
       login_name,
       status,
       login_time,
       last_request_start_time,
       last_request_end_time
FROM sys.dm_exec_sessions AS s
INNER JOIN sys.dm_resource_governor_workload_groups AS wg
ON s.group_id = wg.group_id
WHERE s.session_id <> @@SPID
      AND
      (
          (
          wg.name like 'UserPrimaryGroup.DB%'
          AND
          TRY_CAST(RIGHT(wg.name, LEN(wg.name) - LEN('UserPrimaryGroup.DB') - 2) AS int) = DB_ID()
          )
      OR
      wg.name = 'DACGroup'
      );

Sugerencia

Después de ejecutar la consulta, asegúrese de desconectarse de la base de datos. De lo contrario, la sesión abierta usada por la consulta impide la pausa automática.

  • Si el conjunto de resultados no está vacío, indica que las sesiones actualmente impiden la pausa automática.
  • Si el conjunto de resultados está vacío, todavía es posible que las sesiones hayan estado abiertas, aunque solo fuera brevemente, en algún momento anterior durante el periodo de espera antes de la pausa automática. Para comprobar la actividad durante el periodo de retraso, utilice Auditing for Azure SQL Database y Azure Synapse Analytics y examine los datos de auditoría correspondientes al periodo relevante.

Importante

La presencia de sesiones abiertas, con o sin uso simultáneo de CPU en el grupo de recursos de usuario, es la razón más común de que una base de datos sin servidor no se pause automáticamente según lo previsto.