Pausa automática e retomada automática na camada de computação sem servidor do Banco de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

Este artigo explica o comportamento de pausa automática e retomada automática para a camada de computação serverless no Banco de Dados SQL do Azure, e como ela interage com vários recursos do Banco de Dados SQL do Azure.

  • Pausa automática e retomada automática sem servidor estão disponíveis na camada de serviço de uso geral.
  • Pausa automática e retomada automática sem servidor são recursos de versão preliminar de Hiperescala do Banco de Dados SQL do Azure.

Para monitorar o estado de um banco de dados serverless, consulte Status de pausa e retomada do monitor.

Pausa automática

A pausa automática começa se todas as seguintes condições forem verdadeiras durante o atraso da pausa automática:

  • Número de sessões = 0
  • CPU = 0 para a carga de trabalho do usuário em execução no pool de recursos do usuário

Para mais informações, veja configuração de desempenho sem servidor.

  • No nível de serviço de uso geral, o atraso padrão de pausa automática é de 60 minutos, e o mínimo é de 15 minutos.
  • Para a pausa automática (prévia) do Hyperscale, o atraso padrão da pausa automática é de 60 minutos, e o mínimo é de 60 minutos.

Recursos que impedem a pausa automática

Se você usar algum dos seguintes recursos, desative a pausa automática. O banco de dados permanece online independentemente de quanto tempo ele fique inativo. Os seguintes recursos impedem a pausa automática, mas suportam o auto-escalonamento:

Os seguintes cenários de recursos também impedem a pausa automática:

  • O banco de dados de sincronização usado no SQL Sincronização de Dados. Ao contrário dos bancos de dados de sincronização, os bancos de dados de hub e membro dão suporte à pausa automática.
  • Em Trabalhos Elásticos, o banco de dados sem servidor habilitado com pausa automática não tem suporte como um Banco de Dados de Trabalho. Bancos de dados sem servidor direcionados a trabalhos elásticos dão suporte à pausa automática. As conexões de trabalho retomam um banco de dados.
  • A pausa automática é evitada temporariamente durante a implantação de algumas atualizações de serviço que exigem que o banco de dados esteja online. Nesses casos, a pausa automática será permitida novamente após o término da atualização do serviço.

Retomada automática

A retomada automática começa se qualquer uma das seguintes condições for verdadeira em qualquer momento:

Característica Gatilho de retomada automática
Autenticação e autorização Tentativa de logon
Detecção de ameaça Ativar ou desativar configurações de detecção de ameaças no nível do banco de dados ou servidor.
Alterar as configurações de detecção de ameaças no nível do banco de dados ou do servidor.
Descoberta e classificação de dados Adicionar, modificar, excluir ou exibir os rótulos de confidencialidade
Auditoria Visualizando os registros de auditoria.
Atualizar ou exibir a política de auditoria.
Mascaramento de dados Adicionar, modificar, excluir ou exibir as regras de mascaramento de dados
Criptografia transparente de dados Exibir o estado ou status de Transparent Data Encryption
Avaliação de vulnerabilidade Verificações iniciadas manualmente e varreduras periódicas se habilitadas
Consultar o armazenamento de dados (desempenho) Modificando ou exibindo configurações de Repositório de Consultas
Recomendações para desempenho Exibir ou aplicar recomendações de desempenho
Ajuste automático Aplicação e verificação de recomendações de ajuste automático, como indexação automática
Cópia de banco de dados Criar banco de dados como uma cópia.
Exportar para um arquivo BACPAC.
Sincronização de dados SQL Sincronização entre bancos de dados membro e hub que são executados em um cronograma configurável ou são executados manualmente
Modificar alguns metadados do banco de dados Adicionando ou modificando tags do Azure no banco de dados.
Alterando o máximo de vCores, vCores mínimos ou atraso de pausa automática.
SQL Server Management Studio (SSMS) Em versões do SSMS anteriores à 18.1, e ao abrir uma nova janela de consulta para qualquer banco de dados no servidor, qualquer banco de dados pausado automaticamente no mesmo servidor é retomado. Esse comportamento não ocorre se você usar SSMS versão 18.1 ou posterior.

Monitoramento, gestão ou outras soluções que realizam qualquer uma dessas operações acionam a retomada automática. A retomada automática também começa durante a implantação de algumas atualizações de serviço que exigem que o banco de dados esteja online.

Retomar automaticamente a identificação do gatilho

O log de atividades do Azure Monitor expõe gatilhos de retomada automática para operações de Retomar Bancos de Dados na propriedade Caller no JSON dos eventos Iniciado e Bem-sucedido. Para mais informações, consulte Monitorar a camada de computação sem servidor.

Latency

A latência geralmente é de cerca de um minuto para retomar automaticamente e de 1 a 10 minutos para pausar automaticamente após cumprir os critérios para retomar ou pausar. A latência para qualquer uma das operações pode ser tão baixa quanto cerca de um segundo.

Criptografia de dados transparente gerenciada pelo cliente

Exclusão ou revogação de chave

Se você usar criptografia transparente de dados gerenciada pelo cliente (traga sua própria chave, ou BYOK) e o banco de dados serverless estiver pausado quando a chave for excluída ou revogada, o banco de dados permanecerá no estado de pausa automática. Nesse caso, após o reinício do banco de dados, ele fica inacessível em cerca de 10 minutos. Quando o banco de dados se tornar inacessível, o processo de recuperação será o mesmo para bancos de dados de computação provisionados. Se o banco de dados serverless estiver online quando ocorrer a exclusão ou revogação da chave, o banco de dados também se torna inacessível em cerca de 10 minutos, da mesma forma que nos bancos de dados de computação provisionados.

Rotação de chaves

Se você usar criptografia transparente de dados gerenciada pelo cliente (BYOK) e ativar a pausa automática sem servidor, o banco de dados é retomado automaticamente sempre que as chaves são rotacionadas. O banco de dados então faz uma pausa automática quando as condições de autopausa são satisfeitas.

Solução de problemas de pausa automática

Solução de problemas da conectividade de retomada automática

Se um banco de dados sem servidor estiver em pausa, a primeira tentativa de conexão retomará o banco de dados e gerará um erro informando que o banco de dados está indisponível, com o código de erro 40613. Quando o banco de dados for retomado, tente novamente a conexão. Os bancos de dados geralmente retomam em menos de um minuto.

Todas as aplicações conectadas à nuvem devem usar recomendações de lógica de tentativa de conexão. Aplicações precisam de lógica de repetição de tentativas para serem bem-sucedidas após erros transitórios de conectividade. A lógica de repetição é especialmente importante para bancos de dados sem servidor, onde erros temporários de conectividade devido à retomada automática são previsíveis.

Para obter opções e recomendações de lógica de repetição de conexão, consulte:

Solução de problemas de pausa automática

Se você ativar a pausa automática e não usar recursos que bloqueiam a pausa automática, mas o banco de dados não pausa automaticamente após o período de atraso, sessões de aplicativos ou usuários podem estar impedindo a pausa automática.

Importante

A presença de sessões abertas, com ou sem utilização simultânea da CPU no pool de recursos do usuário, é o motivo mais comum para um banco de dados sem servidor não pausar automaticamente conforme o esperado.

Detectar conexões que impedem a pausa automática

Para verificar se alguma aplicação ou sessão de usuário está atualmente conectada ao banco de dados, execute a seguinte 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'
      );
  • Se o conjunto de resultados não estiver vazio, indica que as sessões atualmente impedem a pausa automática.
  • Se o conjunto de resultados estiver vazio, ainda é possível que as sessões tenham sido abertas, possivelmente por um curto período, em algum momento anterior durante o período de atraso de pausa automática. Para verificar atividade durante o período de atraso, use Auditoria e examine os dados de auditoria do período relevante.

Dica

Após executar a consulta, desconecte do banco de dados. Caso contrário, a sessão aberta usada pela consulta impede a pausa automática.

Limitações

  • Na prévia atual da pausa automática e retomada automática serverless para o Banco de Dados SQL do Azure Hyperscale, o atraso mínimo da pausa automática é de 60 minutos.
  • Na prévia atual da pausa automática e retomada automática serverless para Banco de Dados SQL do Azure Hyperscale, novos bancos de dados serverless Hyperscale criados via CLI do Azure, Azure PowerShell ou API REST recebem um atraso padrão de pausa automática de 60 minutos se você não especificar --auto-pause-delay explicitamente (ou o parâmetro equivalente). Para desativar a pausa automática, especifique --auto-pause-delay -1 quando criar ou atualizar um banco de dados. Esse comportamento reflete o comportamento existente para o modelo sem servidor de uso geral.
  • Na prévia atual da pausa automática e da retomada automática sem servidor do Banco de Dados SQL do Azure Hyperscale, as réplicas nomeadas não têm suporte para pausa automática e retomada automática.
  • Bancos de dados serverless de uso geral com atraso de pausa automática inferior a 60 minutos falharão em atualizar para serverless Hyperscale, a menos que um atraso de pausa automática de pelo menos 60 minutos (ou -1 para desabilitar a pausa automática) seja especificado.