Bundle 2022_08¶
Ce chapitre décrit les changements de comportement suivants (le cas échéant) pour le mois :
Les fonctionnalités devenues obsolètes.
Les changements groupés qui ont été activés.
Les autres changements non groupés qui ont été mis en œuvre.
Si vous avez des questions sur ces modifications, veuillez contacter le support Snowflake.
Pour obtenir des détails sur les nouvelles fonctionnalités, les améliorations et les corrections introduites ce mois-ci, voir Janvier 2023.
Important
Sauf indication contraire, ces modifications sont présentes dans le bundle 2022_08, qui a été activé par défaut dans la version 7.2.
Dans ce chapitre :
Changements en matière de sécurité¶
Modifier les intégrations de sécurité SAML2 : appliquer les dates de validité des certificats X.509¶
Lors de la définition d’une intégration de sécurité SAML2 pour activer l’authentification unique, l’administrateur de la sécurité spécifie un certificat X.509 à l’aide du paramètre SAML2_X509_CERT
.
Snowflake applique désormais les dates de validité de ces certificats X.509 de sorte que les certificats expirés entraînent un échec de l’authentification. Les certificats dont la date NotBefore
n’a pas encore été atteinte échouent également à l’authentification. L’application des dates de validité ne peut pas être désactivée.
- Précédemment:
Snowflake ne contrôlait pas la date de validité d’un certificat X.509 pour vérifier s’il était expiré ou si la date
NotBefore
n’était pas encore arrivée.- Actuellement:
Snowflake fait respecter les dates de validité d’un certificat X.509. Si la date du jour n’est pas comprise dans les dates de validité du certificat, l’authentification échoue.
Changements SQL — Commandes et fonctions¶
Base de données et schémas : l’élimination ou le remplacement ne sont pas autorisés s’il en résulte des références pendantes pour les politiques de mots de passe et les politiques de sessions¶
Le comportement des opérations DROP SCHEMA, DROP DATABASE, CREATE OR REPLACE DATABASE et CREATE OR REPLACE SCHEMA par rapport à une politique de mot de passe et une politique de session a été modifié comme suit :
- Précédemment:
Snowflake a autorisé les opérations DROP et REPLACE sur le schéma/la base de données qui contenait la politique lorsque celle-ci était définie sur le compte Snowflake contenant la politique ou lorsque la politique était définie sur un utilisateur du même compte.
- Actuellement:
Snowflake autorise les opérations DROP et REPLACE sur le schéma/la base de données qui contient la politique lorsque celle-ci est définie sur le compte Snowflake qui la contient ou lorsque la politique est définie sur un utilisateur du même compte.
En conséquence, le comportement des quatre commandes énumérées a changé :
Selon l’opération, Snowflake renvoie l’un des messages d’erreur suivants :
- Politique définie sur un utilisateur:
DROP DATABASE et CREATE OR REPLACE DATABASE :
Impossible de supprimer la base de données, car la politique 'MYDB.MYSCHEMA.POLICY1' est définie sur l'utilisateur 'JSMITH'. Annulez la politique 'MYDB.MYSCHEMA.POLICY1' et réessayez l'opération de suppression.
DROP SCHEMA et CREATE OR REPLACE SCHEMA :
Impossible de supprimer le schéma, car la politique 'MYDB.MYSCHEMA.POLICY1' est définie pour l'utilisateur 'JSMITH'. Annulez la politique 'MYDB.MYSCHEMA.POLICY1' et réessayez l'opération de suppression.
- Politique définie sur le compte:
DROP DATABASE et CREATE OR REPLACE DATABASE :
Impossible de supprimer la base de données, car la politique 'MYDB.MYSCHEMA.POLICY1' est définie sur le compte 'MYACCOUNT'. Annulez la politique 'MYDB.MYSCHEMA.POLICY1' et réessayez l'opération de suppression.
DROP SCHEMA et CREATE OR REPLACE SCHEMA :
Cannot drop schema because policy 'MYDB.MYSCHEMA.POLICY1' is set on account 'MYACC
Commande SHOW FUNCTIONS : nouvelle colonne dans la sortie¶
La colonne suivante a été ajoutée à la sortie de la commande SHOW FUNCTIONS :
Nom de la colonne |
Type de données |
Description |
---|---|---|
IS_MEMOIZABLE |
VARCHAR |
Spécifie si la fonction est une fonction mémoïsable. |
Pour aider à limiter l’impact de cet ajout, la colonne a été ajoutée en tant que dernière colonne dans la sortie.
Commande SHOW VIEWS : nouvelle colonne dans la sortie¶
La sortie SHOW VIEWS comprend maintenant une nouvelle colonne CHANGE_TRACKING
. Cette colonne indique si le suivi des modifications est activé sur la vue.
La colonne affiche l’une des valeurs suivantes pour les vues individuelles :
ON
: le suivi des modifications est activé. Vous pouvez interroger ces données de suivi des modifications en utilisant les flux ou la clause CHANGES pour les instructions SELECT.OFF
: le suivi des modifications est actuellement désactivé, mais pourrait être activé.
Pour aider à limiter l’impact de ce changement, la colonne a été ajoutée en tant que dernière colonne dans la sortie.
Changements SQL — Vues d’utilisation et vues Information Schema/Fonctions de table¶
Vues d’utilisation de Data Sharing : modifications des colonnes dans les vues¶
Toutes les vues du schéma DATA_SHARING_USAGE (dans la base de données partagée SNOWFLAKE) ont été modifiées comme suit :
- Précédemment:
Les données affichées dans la colonne SNOWFLAKE_REGION des vues étaient affichées sous la forme
<cloud> <région>
en minuscules (par exemple,aws us_west_2
). Cela ne correspond pas aux valeurs affichées pour la région Snowflake dans la sortie SHOW REGIONS.Vues impactées :
- Actuellement:
Dans les vues énumérées ci-dessus, les valeurs de la colonne SNOWFLAKE_REGION sont désormais affichées sous la forme
<cloud>_<région>
en majuscules. Ceci est cohérent avec la sortie SHOW REGIONS.Par exemple, la région
us_west_2
dans AWS est maintenant affichée commeAWS_US_WEST_2
.
Vues d’utilisation de Data Sharing : nouvelle colonne dans les vues¶
Cette annonce a été ajoutée le 13 février 2023.
La colonne REGION_GROUP a été ajoutée aux vues suivantes dans le schéma DATA_SHARING_USAGE :
Pour aider à limiter l’impact de cet ajout, la colonne REGION_GROUP a été ajoutée en tant que dernière colonne dans la sortie.
Vue ACCESS_HISTORY (Account Usage) : nouvelles colonnes dans la vue¶
Les colonnes suivantes ont été ajoutées à la vue ACCESS_HISTORY (dans le schéma ACCOUNT_USAGE) :
object_modified_by_ddl
policies_referenced
Pour aider à limiter l’impact de ce changement, ces colonnes ont été ajoutées en tant que dernières colonnes dans la sortie.
Notez que ces colonnes sont des espaces réservés et qu’elles seront remplies dans une prochaine version.
Vue FUNCTIONS (Information Schema) : nouvelle colonne dans la sortie¶
La colonne suivante a été ajoutée à la vue Information Schema FUNCTIONS (dans le schéma INFORMATION_SCHEMA) :
Nom de la colonne |
Type de données |
Description |
---|---|---|
IS_MEMOIZABLE |
VARCHAR |
Spécifie si la fonction est une fonction mémoïsable. |
Pour aider à limiter l’impact de cet ajout, la colonne a été ajoutée en tant que dernière colonne dans la vue.
Vue TABLE_CONSTRAINTS (Account Usage) : nouvelle colonne dans la vue¶
La nouvelle colonne suivante a été ajoutée à la vue TABLE_CONSTRAINTS (dans le schéma ACCOUNT_USAGE) :
Nom de la colonne |
Type de données |
Description |
---|---|---|
RELY |
VARCHAR |
Si une contrainte en mode NOVALIDATE est prise en compte lors de la réécriture de la requête. Pour plus de détails, reportez-vous à Propriétés de contrainte étendue. |
Vue USAGE_IN_CURRENCY_DAILY (Utilisation de l’organisation) : nouvelle colonne dans la vue¶
La vue USAGE_IN_CURRENCY_DAILY (dans le schéma ORGANIZATION_USAGE) comprend maintenant une nouvelle colonne BALANCE_SOURCE.
Nom de la colonne |
Type de données |
Description |
---|---|---|
BALANCE_SOURCE |
VARCHAR |
Source des fonds utilisés pour payer l’utilisation quotidienne. Comme il peut y avoir plus d’une source pour un jour donné, la nouvelle colonne fournit des informations supplémentaires lorsqu’il y a plusieurs entrées pour le même jour et le même type d’utilisation. |
Pour aider à limiter l’impact de ce changement, la colonne a été ajoutée en tant que dernière colonne dans la vue.
Vue USERS (Account Usage) : nouvelle colonne dans la vue¶
La vue USERS (dans le schéma ACCOUNT_USAGE) a été mise à jour pour inclure une nouvelle colonne USER_ID.
Modifications de Data Sharing¶
Modifications de la réplication¶
Politiques réseau : références ambigües pour les politiques avec réplication et basculement/restauration¶
Le comportement des politiques de réplication et réseau ainsi que des politiques de basculement/restauration et réseau a été modifié comme suit :
- Précédemment:
Avec les politiques réseau et leurs références (c’est-à-dire les affectations au compte principal et aux utilisateurs du compte principal) :
Spécifiez les USERS et les NETWORK POLICIES dans le groupe de réplication/basculement lorsqu’il existe des politiques réseau au niveau de l’utilisateur.
Spécifiez NETWORK POLICIES dans le groupe de réplication/basculement lorsqu’il n’existe que des politiques réseau au niveau du compte.
La réplication et le basculement/la restauration s’effectuaient même si le résultat était une référence pendante dans le compte cible.
Une référence ambigüe signifie qu’un objet du compte secondaire fait référence à un objet qui n’existe pas dans le même compte. Par exemple :
Un utilisateur/nom d’utilisateur du compte secondaire fait référence à une politique réseau qui n’est pas dans le compte secondaire. Ce scénario se produit lorsqu’une politique réseau est attribuée à un utilisateur du compte principal et que le groupe de réplication/basculement spécifie USERS, mais pas NETWORK POLICIES.
Une politique réseau est attachée au compte principal et le groupe de réplication/de basculement n’inclut pas de NETWORK POLICIES.
- Actuellement:
Le comportement actuel a changé comme suit :
Spécifiez les ACCOUNT PARAMETERS, les USERS et les NETWORK POLICIES dans le groupe de réplication/basculement lorsqu’il existe des politiques réseau au niveau de l’utilisateur.
Spécifiez ACCOUNT PARAMETERS et NETWORK POLICIES dans le groupe de réplication/basculement lorsqu’il n’existe que des politiques réseau au niveau du compte.
La réplication et le basculement/la restauration échouent dans le compte secondaire si le résultat est une référence pendante.
Par exemple, si le compte principal possède un ensemble de politiques réseau au niveau du compte et un ensemble de politiques réseau au niveau de l’utilisateur sur un utilisateur, des références pendantes seront créées dans le compte cible pour le paramètre de niveau compte et l’utilisateur :
Dangling references in the snapshot. Correct the errors before refreshing again. The following references are missing (referred entity <- [referring entities]): ACCOUNT PARAMETERS <- [NETWORK POLICIES]. Add ACCOUNT PARAMETER into the replication group to fix it. NETWORK_POLICY 'MYACCOUNT.P2' <- [USER 'MYACCOUNT.USERNAME']
Sinon, le message d’erreur spécifie soit l’instruction du paramètre du compte, soit l’instruction de l’utilisateur, selon la façon dont le groupe de réplication est configuré et ce que serait le résultat dans le compte cible.
Groupes de réplication : limiter les objets du compte à l’appartenance à un seul groupe¶
La réplication de compte permet de répliquer les objets de compte dans un groupe de réplication ou de basculement. Les objets de compte peuvent inclure des paramètres de compte, des rôles, des objets de sécurité et des utilisateurs. Pour une liste complète des objets pris en charge, reportez-vous à Objets répliqués.
Actuellement, si un compte n’a pas de groupe de basculement qui inclut des types d’objets de compte, différents types d’objets de compte peuvent être inclus dans plusieurs groupes de réplication. Le comportement a changé comme suit :
- Précédemment:
Les types d’objets de compte peuvent être inclus dans plusieurs groupes de réplication.
- Actuellement:
Les types d’objets de compte sont limités à un seul groupe de réplication.
Groupes de réplication : paramètres de compte en lecture seule dans les comptes cibles¶
Lorsqu’un type d’objet de compte est inclus dans un groupe de réplication ou de basculement, le type d’objet est en lecture seule dans le compte cible. Par exemple, si les rôles sont répliqués sur un compte cible, les rôles ne peuvent pas être créés ou modifiés dans le compte cible.
Les paramètres du compte peuvent être inclus dans un groupe de réplication ou de basculement pour être répliqués vers un compte cible. Certains paramètres (par exemple, STATEMENT_TIMEOUT_IN_SECONDS) peuvent être définis à plusieurs niveaux (par exemple, au niveau du compte et par utilisateur). La réplication des paramètres de compte ne réplique que le paramètre au niveau du compte pour un paramètre.
Le comportement pour la réplication des paramètres de compte a été modifié comme suit :
- Précédemment:
Si ACCOUNT PARAMETERS étaient inclus dans la liste OBJECT_TYPES pour un groupe de réplication ou de basculement, les paramètres au niveau du compte secondaire dans les comptes cibles pourraient être modifiés.
- Actuellement:
Si ACCOUNT PARAMETERS sont inclus dans la liste OBJECT_TYPES pour un groupe de réplication ou de basculement, les paramètres au niveau du compte secondaire dans les comptes cibles sont en lecture seule.
Commande SHOW REPLICATIONGROUPS : modifications de la sortie¶
La commande SHOW REPLICATION GROUPS inclut une colonne next_scheduled_refresh
dans sa sortie qui affiche la date et l’heure de la prochaine actualisation planifiée pour une réplication secondaire ou un groupe de basculement avec une planification de réplication. Cette colonne est NULL pour les groupes de réplication ou de basculement secondaires avec un planning de réplication s’il ne se trouve pas dans la région actuelle.
Le comportement a changé comme suit :
- Précédemment:
La colonne
next_scheduled_refresh
était NULL pour les groupes de réplication secondaire ou de basculement avec un planning de réplication qui n’était pas dans la région actuelle.- Actuellement:
La colonne
next_scheduled_refresh
comprend la date et l’heure de la prochaine actualisation planifiée pour tous les groupes de réplication et de basculement secondaires avec une planification de la réplication.