Bundle 2022_04¶
Unter diesem Thema werden die folgenden in diesem Monat vorgenommenen Verhaltensänderungen (falls vorhanden) beschrieben:
Features, die veraltet sind.
Gebündelte Änderungen, die aktiviert wurden.
Andere, nicht gebündelte Änderungen, die implementiert wurden.
Wenn Sie Fragen zu diesen Änderungen haben, wenden Sie sich an den Snowflake-Support.
Weitere Einzelheiten zu den in diesem Monat eingeführten neuen Features, Erweiterungen und Korrekturen finden Sie unter Juli 2022.
Wichtig
Sofern nicht anders angegeben, sind diese Änderungen in Bundle 2022_04 enthalten, das standardmäßig mit Release 6.25 aktiviert wurde.
Unter diesem Thema:
SQL-Änderungen – Allgemein¶
Klonen eines permanenten Schemas mit permanenten untergeordneten Tabellen zum Erstellen eines transienten Schemas¶
Wenn ein transientes Schema durch Klonen eines permanenten Schemas erstellt wird, werden auch die untergeordneten Objekte des Schemas geklont.
Der Typ der Objekte der untergeordneten Tabelle in dem geklonten transienten Schema hat sich wie folgt geändert:
- Bisher:
Alle permanenten Tabellen im Quellschema wurden als permanente Tabellen in das Zielschema geklont, und alle transienten Tabellen wurden als transiente Tabellen geklont.
- Jetzt:
Alle permanenten Tabellen im Quellschema werden als transiente Tabellen in das Zielschema geklont.
SQL-Änderungen – Befehle und Funktionen¶
Befehl SHOW EXTERNALTABLES: Neue Spalten in Ausgabe¶
Der Ausgabe des Befehls SHOW EXTERNAL TABLES wurden die beiden folgenden neuen Spalten hinzugefügt:
TABLE_FORMAT
LAST_REFRESH_DETAILS
Um die Auswirkungen dieser Änderung zu begrenzen, wurden die Spalten als letzte Spalten in der Ausgabe hinzugefügt.
Die Spalten wurden zur Unterstützung zukünftiger Funktionen hinzugefügt.
Befehl SHOW SCHEMAS: Änderungen an der RETENTION_TIME-Ausgabe für Schemas¶
Der Wert der Spalte RETENTION_TIME in der Ausgabe des Befehls SHOW SCHEMAS für Schemas einer Datenbank mit einer DATA_RETENTION_TIME_IN_DAYS-Einstellung von 0 hat sich wie folgt geändert:
- Bisher:
Der RETENTION_TIME-Wert war eine leere Zeichenfolge.
- Jetzt:
Der RETENTION_TIME-Wert ist 0.
Befehl SHOW WAREHOUSES: Neue Spalten in Ausgabe¶
Die folgenden neuen Spalten wurden der Ausgabe des Befehls SHOW WAREHOUSES für Konten hinzugefügt, bei denen das Feature Abfragebeschleunigungsdienst (Query Acceleration Service) aktiviert ist:
Spaltenname |
Beschreibung |
---|---|
|
Ob der Abfragebeschleunigungsdienst für das Warehouse aktiviert ist. |
|
Maximaler Skalierungsfaktor für den Abfragebeschleunigungsdienst. |
Die neuen Spalten wurden zwischen den Spalten comment
und resource_monitors
eingefügt. Abfragen, die von der Ausgabe des SHOW WAREHOUSES-Befehls abhängen, sollten für die Spaltenausgabe den Spaltennamen und keinen fest kodierten Index verwenden.
Funktion GET_DDL: Änderungen an der Ausgabe für Funktionen und Prozeduren¶
Wenn Sie derzeit die Funktion GET_DDL aufrufen, um die DDL-Anweisung zu erhalten, mit der eine UDF, externe Funktion oder gespeicherte Prozedur erstellt wurde, wird der Name der Funktion oder Prozedur in Anführungszeichen gesetzt, auch wenn der Name den Regeln entspricht, die für nicht in Anführungszeichen gesetzte Objektbezeichner gelten.
Diese Ausgabe hat sich in den Fällen geändert, in denen Sie den vollqualifizierten Namen der Funktion oder Prozedur zurückgeben (d. h. wenn Sie GET_DDL mit TRUE als drittem Argument aufrufen):
- Bisher:
GET_DDL gab den Namen der Funktion oder Prozedur in Anführungszeichen zurück:
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)', TRUE) | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION MYDB.MYSCHEMA."MYFUNC" ... | +-------------------------------------------------------+
- Jetzt:
GET_DDL gibt den Namen der Funktion oder Prozedur ohne Anführungszeichen zurück:
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)', TRUE) | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION MYDB.MYSCHEMA.MYFUNC ... | +-------------------------------------------------------+
Beachten Sie, dass dies nur Fälle betrifft, in denen Sie den vollqualifizierten Namen der Funktion oder Prozedur zurückgeben. Wenn Sie das dritte Argument für GET_DDL weglassen (oder FALSE angeben), gibt GET_DDL den Namen der Funktion oder Prozedur in Anführungszeichen zurück:
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)') | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION "MYFUNC" ... | +-------------------------------------------------------+
SQL-Änderungen – Nutzungsansichten & Information Schema-Ansichten/Tabellenfunktionen¶
Ansicht POLICY_REFERENCES (Account Usage): Neue Spalten¶
Um Tag-basierte Maskierungsrichtlinien zu unterstützen, enthält die Ansicht POLICY_REFERENCES (im Schema ACCOUNT_USAGE der freigegebenen SNOWFLAKE-Datenbank) jetzt die folgenden Spalten:
tag_name
tag_database
tag_schema
policy_status
Bei diesen neuen Spalten ist Folgendes zu beachten:
Die Spalten, deren Datentypen und deren Beschreibungen stimmen mit denselben Spalten in der Information Schema-Tabellenfunktion POLICY_REFERENCES überein.
Bei vorhandenen Zeilen in der Ansicht gibt Snowflake für die neuen Spalten den Wert NULL zurück.
Bei dieser Aktualisierung werden der Ansicht nur neue Spalten hinzugefügt. Sie können das Feature für Tag-basierte Maskierungsrichtlinien verwenden, ohne diese Verhaltensänderung zu aktivieren, sofern Ihr Snowflake-Konto ein Enterprise Edition-Konto (oder höher) ist.
Um die Auswirkungen dieser Änderung zu begrenzen, wurden die neuen Spalten als letzte Spalten der Ausgabe hinzugefügt.
Ansicht QUERY_HISTORY (Account Usage): Neue Spalten¶
Die folgenden neuen Spalten wurden der Account Usage-Ansicht QUERY_HISTORY hinzugefügt:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
|
NUMBER |
Anzahl der vom Abfragebeschleunigungsdienst gescannten Bytes. Der Standardwert ist 0, wenn die Abfrage nicht beschleunigt wurde. |
|
NUMBER |
Anzahl der vom Abfragebeschleunigungsdienst gescannten Partitionen. Der Standardwert ist 0, wenn die Abfrage nicht beschleunigt wurde. |
|
NUMBER |
Oberes Limit des Skalierungsfaktors, der für eine Abfrage von Vorteil wäre. Der Standardwert ist 0, wenn die Abfrage nicht beschleunigt wurde. |
Um die Auswirkungen dieser Änderung zu begrenzen, wurden die neuen Spalten als letzte Spalten in der Ausgabe hinzugefügt.
Änderungen bei Datenpipelines¶
Befehl ALTER STREAM: Einstellen der Parameter APPEND_ONLY und INSERT_ONLY nicht mehr möglich¶
Nach dem Erstellen eines Streams kann der Streamtyp nicht mehr geändert werden. Der Typ wird beim Erstellen des Streams wie folgt festgelegt:
Legen Sie APPEND_ONLY = TRUE fest, um einen Nur-Anfügen-Stream zu erstellen.
Legen Sie INSERT_ONLY = TRUE fest, um einen Nur-Einfügen-Stream zu erstellen.
Lassen Sie beide Parameter weg, um einen Standard-Stream (Delta-Stream) zu erstellen.
Der Versuch, den Typ eines vorhandenen Streams mit dem Befehl ALTER STREAM zu ändern, führt jetzt zu einem Benutzerfehler.
Um den Typ eines vorhandenen Streams zu ändern, müssen Sie den Stream neu erstellen (mit CREATE OR REPLACE STREAM) und dabei den gewünschten Streamtyp angeben.
Aufgabe: Geänderte Fehlermeldungen¶
Benutzerfehlermeldungen, die bei ungültigen SQL-Aktionen im Zusammenhang mit serverlosen Aufgaben (d. h. Aufgaben, die mit von Snowflake verwalteten Computeressourcen ausgeführt werden) zurückgegeben werden, wurden wie folgt geändert:
Anwendungsfall 1: Sie führen mit einer Rolle, die nicht die globale Berechtigung EXECUTE MANAGED TASK besitzt, eine CREATE TASK-Anweisung ohne den Parameter WAREHOUSE aus.
- Bisheriger Fehlertext:
Missing option(s): [WAREHOUSE]
- Neuer Fehlertext:
WAREHOUSE not specified and missing serverless task privilege to create task {task name}. To create it as a user-managed task, specify a WAREHOUSE. To create it as a serverless task, execute the CREATE TASK command with a role that has been granted the 'EXECUTE MANAGED TASK' account-level privilege.
Anwendungsfall 2: Sie klonen eine serverlose Aufgabe (oder eine Datenbank oder ein Schema, die/das eine oder mehrere serverlose Aufgaben enthält) mit einer Rolle, die nicht über die globale Berechtigung EXECUTE MANAGED TASK verfügt, unter Verwendung des entsprechenden CREATE … CLONE-Befehls.
- Bisheriger Fehlertext:
Task {task name} requires a warehouse.
- Neuer Fehlertext:
WAREHOUSE not specified and missing serverless task privilege to create task {task name}. To create it as a user-managed task, specify a WAREHOUSE. To create it as a serverless task, execute the CLONE command with a role that has been granted the 'EXECUTE MANAGED TASK' account-level privilege.
Anwendungsfall 3: Sie deaktivieren mit einer Rolle, die nicht über die globale Berechtigung EXECUTE MANAGED TASK verfügt, den WAREHOUSE-Parameter einer bestehenden Aufgabe, die mit vom Kunden verwalteten Computeressourcen ausgeführt wird (mit einer ALTER TASK … UNSET WAREHOUSE-Anweisung).
- Bisheriger Fehlertext:
Task {task name} requires a warehouse.
- Bisheriger Fehlertext:
Cannot UNSET WAREHOUSE on task {task_name} because its owner role has not been granted the 'EXECUTE MANAGED TASK' account-level privilege. Grant this privilege to the role or use GRANT OWNERSHIP to change the task's owner role to one with this privilege.
Anwendungsfall 4:
Sie erstellen mit einer Rolle, der die globale Berechtigung EXECUTE MANAGED TASK (zusammen mit anderen Mindestrechten) erteilt wurde, eine serverlose Aufgabe und setzen diese fort.
Die Berechtigung EXECUTE MANAGED TASK wird der Eigentümerrolle (Rolle mit OWNERSHIP-Berechtigung für die Aufgabe) entzogen.
Die Aufgabe wird nicht angehalten und startet ihre nächste geplante Ausführung, oder ein Benutzer mit der Eigentümerrolle führt den EXECUTE TASK-Befehl aus, um zu versuchen, eine Aufgabenausführung zu starten.
- Bisheriger Fehlertext:
Cannot execute task, USAGE privilege on the task's warehouse must be granted to the owner role
- Neuer Fehlertext:
Cannot execute task, EXECUTE MANAGED TASK privilege must be granted to the owner role
Diese Änderungen sollen Ihnen helfen, Probleme im Zusammenhang mit serverlosen Aufgaben besser zu verstehen und zu beheben.
Änderungen zum Datenschutz¶
Klassifizierung: Datenklassifizierungsmodell aktualisiert und Ausgabe überarbeitet¶
Die Datenklassifizierung ist jetzt allgemein für alle Konten der Enterprise Edition (oder höher) auf AWS und Azure verfügbar.
Für die allgemeine Verfügbarkeit des Features wurde das Datenklassifizierungsmodell aktualisiert, um verbesserte Vorhersagemodelle und Datenmuster zu generieren. Darüber hinaus umfasst der Datenklassifizierungsprozess nun Ausgaben für jede in der Eingabe angegebene Tabellenspalte, einschließlich:
Spalten mit Datentypen, die bisher nicht klassifiziert werden konnten.
Spalten, die ausschließlich NULL-Werte enthalten.
Diese Verbesserungen wurden im Rahmen des Verhaltensänderungsprozesses eingeführt, da sie bei der Neuklassifizierung von Daten, die mit dem vorherigen Datenklassifizierungsmodell klassifiziert wurden, wahrscheinlich bessere, aber potenziell andere Ergebnisse liefern. Während der Opt-out-Phase für Bundle 2022_04 können Sie das Bundle aktivieren/deaktivieren, um die Verbesserungen der Klassifizierung zu testen und gleichzeitig die Auswirkungen auf Ihre Produktionskonten zu minimieren, bis Sie mit den neuen Ergebnissen vertraut sind.