Nesta página, descrevemos como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. O monitoramento dessas consultas pode ajudar a identificar as causas de latência do sistema e o alto uso da CPU.
O painel do Query Insights mostra um resumo das transações ativas e uma lista de transações com consultas e estatísticas associadas. As transações são exibidas pelo horário de início da transação. Se houver um grande número de consultas em execução, os resultados poderão ser limitados a um subconjunto do total de consultas.
Antes de começar
Para monitorar consultas ativas, use o Cloud SQL Enterprise ou o Cloud SQL Enterprise Plus.
Para encerrar uma sessão ou uma transação de longa duração em consultas ativas, use a edição Enterprise Plus do Cloud SQL na sua instância do Cloud SQL.
Para mais informações sobre as edições do Cloud SQL, consulte Introdução às edições do Cloud SQL.
Papéis e permissões necessárias
Para receber as permissões necessárias para ver as consultas ativas, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que hospeda a instância do Cloud SQL:
- 
            Ver o resumo da atividade da instância:
              
  
  
    
      Leitor do Cloud SQL  (roles/cloudsql.viewer)
- 
            Confira o resumo da atividade do banco de dados e as transações de longa duração:
              
  
  
    
      Leitor do Database Insights  (roles/databaseinsights.viewer)
- 
            Encerre uma sessão ou transação de longa duração:
            - 
  
  
    
      Editor do Cloud SQL  (roles/cloudsql.editor)
- 
  
  
    
      Administrador de operações do Database Insights  (roles/databaseinsights.operationsAdmin)
 
- 
  
  
    
      Editor do Cloud SQL  (
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para visualizar consultas ativas. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para acessar as consultas ativas:
- 
                Ver o resumo da atividade do banco de dados e as transações de longa duração:
                - 
                      databaseinsights.activeQueries.fetch
- 
                      databaseinsights.activitySummary.fetch
 
- 
                      
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Ativar consultas ativas
Ao ativar o Query Insights, você ativa as consultas ativas automaticamente. Para encerrar uma sessão ou uma transação de longa duração em consultas ativas, use os insights de consulta para o Cloud SQL Enterprise Plus.
Desativar consultas ativas
Não é possível desativar as consultas ativas sem desativar o Query Insights. Para desativar as consultas ativas e os insights de consulta, consulte Desativar os insights de consulta.
Visualizar consultas ativas
Para ver as consultas ativas, siga estas etapas:
- No console Google Cloud , acesse a página Instâncias do Cloud SQL. 
- Para abrir a página Visão geral de uma instância, clique no nome da instância. 
- Siga um dos procedimentos abaixo para exibir o painel do Query Insights: - Selecione a guia Query Insights.
- Clique em Acessar o Query Insigths para ver informações mais detalhadas sobre consultas e desempenho. O painel do Query Insights abre. Ele mostra detalhes sobre a instância na parte superior.
 
- Clique na guia Consultas ativas. - Nela, é possível modificar as informações de consulta que aparecem na tabela Transações em execução há mais tempo: - Bancos de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
- Usuário: filtra a carga de consulta de uma conta de usuário específica.
 
Ver consultas ativas normalizadas
É possível ver uma lista das principais transações de longa duração com consultas ativas normalizadas no painel do Query Insights. Uma consulta ativa normalizada remove dados sensíveis e retorna um resumo. O resumo é igual para valores diferentes usados no exemplo a seguir:
- Consultas regulares - select * from test_table where id=1;
- select * from test_table_where id=2;
 
- Resumo ou consulta normalizada - select * from test_table where id=?;
 
Uma consulta executada em sessões diferentes é exibida como entradas diferentes no painel.
Ver as principais transações em execução há mais tempo
A tabela Transações em execução há mais tempo no painel do Query Insights contém as seguintes colunas:
| Nome da coluna | Descrição | 
|---|---|
| ID da sessão | Identificador exclusivo da sessão. | 
| Consulta | Texto da consulta SQL. | 
| Estado da sessão | O estado da sessão. | 
| Duração da consulta | Por quanto tempo a consulta está em execução. | 
| ID da sessão de bloqueio | O ID da sessão que está bloqueando a sessão. | 
| Tipo de evento de espera | O tipo de evento de espera, se a solicitação estiver bloqueada para execução da consulta. | 
| Recurso de espera | O recurso que a solicitação está aguardando no momento, se ela estiver bloqueada para execução de consultas. | 
| Duração da espera da transação | A duração da espera atual, se a sessão estiver bloqueada. | 
| Leituras lógicas | O número de leituras lógicas realizadas pela solicitação. | 
| Leituras | O número de leituras realizadas pela solicitação. | 
| Gravações | O número de gravações realizadas pela solicitação. | 
| Banco de dados | Banco de dados em que a sessão está sendo executada. | 
| Usuário | Nome do usuário conectado ao banco de dados. | 
| Endereço do cliente | O endereço IP específico do cliente que enviou uma consulta. | 
| Tempo de CPU (ms) | O tempo de CPU em milissegundos usado pela solicitação. | 
| Nome do aplicativo | Nome do aplicativo que iniciou a sessão. | 
| Linhas da transação modificadas | Número de linhas retornadas ao cliente por esta consulta. | 
| % concluído | Porcentagem do trabalho concluído, se a consulta informar o progresso. | 
| Memória de consulta concedida | O número de páginas alocadas para a execução da solicitação. | 
| Ação | Contém um link para encerrar uma sessão. | 
A tela é atualizada automaticamente a cada 60 segundos.
Use o menu vertical Opções de exibição de conteúdo... para filtrar as colunas que você quer mostrar.
Encerrar uma sessão
Para encerrar uma sessão ou uma transação de longa duração, use o Cloud SQL Enterprise Plus e ative os insights de consultas para o Cloud SQL Enterprise Plus.
Operações de longa duração podem levar mais tempo para serem encerradas.
Para encerrar uma consulta ou transação, siga estas etapas:
- Na tabela Transação em execução há mais tempo, selecione uma consulta.
- Na coluna Ação, clique em Encerrar sessão.
- Na janela Encerrar sessão, clique em Confirmar.