Suspendre ou reprendre les tables dynamiques¶
Ce sujet explique pourquoi les tables dynamiques sont automatiquement suspendues et comment suspendre ou reprendre manuellement vos tables dynamiques.
Suspension automatique de tables dynamiques¶
Les tables dynamiques sont automatiquement suspendues après cinq erreurs consécutives d’actualisation planifiée. Un actualisation réussi, y compris un actualisation manuel, remet le compte d’erreurs à zéro. Par exemple, si une table échoue à deux actualisations planifiées consécutives, puis réussit à l’actualisation suivante, le nombre d’erreurs est remis à zéro.
Les erreurs dues à des actualisations déclenchés manuellement ne sont pas prises en compte dans cette limite.
Toutes les tables dynamiques dépendant d’une table suspendue sont également suspendues.
Vous pouvez voir l’état actuel (ACTIVE ou SUSPENDED) de vos tables dynamiques en utilisant l’une des options suivantes :
Exécutez la fonction de table DYNAMIC_TABLE_GRAPH_HISTORY :
SELECT name, scheduling_state
FROM TABLE (INFORMATION_SCHEMA.DYNAMIC_TABLE_GRAPH_HISTORY());
Dans la sortie, la colonne SCHEDULING_STATE
indique l’état de votre table dynamique (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" |
| | } |
+-------------------+---------------------------------------------------------------------------------+
Pour voir l’état de vos tables dynamiques, connectez-vous à Snowsight. Dans le menu de navigation, sélectionnez Monitoring » Dynamic Tables.
Cette page vous permet de voir l’état et le statut de la dernière actualisation de vos tables dynamiques. Vous pouvez également filtrer par base de données ou par schéma pour restreindre les résultats.
Suspension manuelle des tables dynamiques¶
Suspendez manuellement une table dynamique lorsque vous n’en avez pas besoin maintenant mais que vous souhaitez éviter les coûts d’actualisation sans la supprimer, en la gardant disponible pour une utilisation future. La suspension peut également vous permettre de mieux contrôler la fréquence d’actualisation, par exemple si des sauts se produisent et que vous avez besoin de temps pour résoudre les problèmes.
Si vous souhaitez garantir une actualisation à une heure ou à un moment précis, vous pouvez utiliser une tâche ou un script qui s’exécute régulièrement pour exécuter une actualisation manuelle, car les tables dynamiques ne garantissent pas une actualisation à un moment précis. Cela permet de contrôler précisément le moment où votre table est actualisée.
Vous pouvez utiliser la commande ALTER DYNAMIC TABLE … SUSPEND ou Snowsight pour suspendre manuellement les tables dynamiques, avec les limites suivantes :
La suspension d’une table dynamique suspend également les tables dynamiques qui sont en aval de celle-ci.
La suspension d’une table dynamique avec actualisation incrémentielle au-delà de la période de conservation Time Travel de ses tables de base entraînera son échec lors de la prochaine actualisation après la reprise de la table dynamique.
ALTER DYNAMIC TABLE my_dynamic_table SUSPEND;
Connectez-vous à Snowsight.
Dans la navigation, accédez à Monitoring » Dynamic Tables.
Recherchez votre table dynamique dans la liste et sélectionnez
» Suspend.
Dans la fenêtre contextuelle, confirmez que vous souhaitez suspendre votre table dynamique.
Reprendre les tables dynamiques¶
Pour reprendre vos tables dynamiques, utilisez la commande ALTER DYNAMIC TABLE … RESUME ou Snowsight.
ALTER DYNAMIC TABLE my_dynamic_table RESUME;
Connectez-vous à Snowsight.
Dans la navigation, accédez à Monitoring » Dynamic Tables.
Recherchez votre table dynamique dans la liste et sélectionnez
» Resume.
Dans la fenêtre contextuelle, confirmez que vous souhaitez reprendre votre table dynamique.