Suspenda ou retome tabelas dinâmicas

Este tópico discute por que as tabelas dinâmicas são suspensas automaticamente e como suspender ou retomar manualmente as tabelas dinâmicas.

Suspensão dinâmica automática da tabela

As tabelas dinâmicas são suspensas automaticamente após cinco erros consecutivos de atualização programada. Uma atualização bem-sucedida, inclusive uma atualização manual, redefine a contagem de erros para zero. Por exemplo, se uma tabela falhar em duas atualizações agendadas consecutivas e, em seguida, for bem-sucedida na próxima, a contagem de erros será zerada.

Os erros de atualizações acionadas manualmente não contam para esse limite.

Todas as tabelas dinâmicas dependentes de uma tabela suspensa também são suspensas.

Você pode visualizar o estado atual (ACTIVE ou SUSPENDED) de suas tabelas dinâmicas usando uma das seguintes opções:

Execute a função de tabela DYNAMIC_TABLE_GRAPH_HISTORY:

SELECT name, scheduling_state
  FROM TABLE (INFORMATION_SCHEMA.DYNAMIC_TABLE_GRAPH_HISTORY());
Copy

Na saída, a coluna SCHEDULING_STATE mostra o estado de sua tabela dinâmica (ACTIVE ou SUSPENDED):

+-------------------+---------------------------------------------------------------------------------+
  | NAME              | SCHEDULING_STATE                                                                |
  |-------------------+---------------------------------------------------------------------------------|
  | DTSIMPLE          | {                                                                               |
  |                   |   "reason_code": "SUSPENDED_DUE_TO_ERRORS",                                     |
  |                   |   "reason_message": "The DT was suspended due to 5 consecutive refresh errors", |
  |                   |   "state": "SUSPENDED",                                                         |
  |                   |   "suspended_on": "2023-06-06 19:27:29.142 -0700"                               |
  |                   | }                                                                               |
  | DT_TEST           | {                                                                               |
  |                   |   "state": "ACTIVE"                                                             |
  |                   | }                                                                               |
  +-------------------+---------------------------------------------------------------------------------+

Suspenda manualmente as tabelas dinâmicas

Suspenda manualmente uma tabela dinâmica quando você não precisar dela agora, mas quiser evitar custos de atualização sem descartá-la, mantendo-a disponível para uso futuro. A suspensão também pode proporcionar um melhor controle sobre a frequência de atualização, por exemplo, se ocorrerem saltos e o usuário precisar de tempo para solucionar problemas.

Se quiser garantir a atualização em um momento ou ocorrência específica, você pode usar uma tarefa ou script que seja executado regularmente para realizar uma atualização manual, pois as tabelas dinâmicas não garantem o tempo exato de atualização. Isso permite um controle preciso sobre quando a tabela é atualizada.

Você pode usar o comando ALTER DYNAMIC TABLE … SUSPEND ou o Snowsight para suspender manualmente as tabelas dinâmicas, com as seguintes limitações:

  • A suspensão de uma tabela dinâmica também suspende as tabelas dinâmicas que são downstream a partir dela.

  • A suspensão de uma tabela dinâmica com atualização incremental além do período de retenção do Time Travel de suas tabelas base fará com que ela falhe na próxima atualização após a retomada da tabela dinâmica.

ALTER DYNAMIC TABLE my_dynamic_table SUSPEND;
Copy

Retome as tabelas dinâmicas

Para retomar suas tabelas dinâmicas, use o comando ALTER DYNAMIC TABLE … RESUME ou o Snowsight.

ALTER DYNAMIC TABLE my_dynamic_table RESUME;
Copy