Datenbankrollen: Aktualisierte Fehlermeldungen bei Zuweisen zu einer Freigabe

Achtung

Diese Verhaltensänderung ist in Bundle 2023_06 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Die Fehlermeldungen im Zusammenhang mit dem Zuweisen einer Datenbankrolle zu einer Freigabe mit dem Befehl GRANT DATABASE ROLE … TO SHARE haben sich verändert.

In diesen Tabellen bedeutet das Wort „auflösen“, dass die Eigentümerrolle der Datenbankrolle (ausführende Rolle) über die entsprechende Berechtigung für den Zugriff auf das der Datenbankrolle zugewiesene Objekt verfügt. Beispielsweise kann die Eigentümerrolle eine Tabelle auflösen (hat Zugriff auf die Tabelle), wenn die Datenbankrolle über die SELECT-Berechtigung für eine Tabelle mit USAGE-Berechtigung für die Datenbank und das Schema, in dem die Tabelle gespeichert ist, verfügt, und der Eigentümerrolle die gleichen Berechtigungen erteilt wurden.

In der folgenden Tabelle sind die geänderten Fehlermeldungen für das Zuweisen einer Datenbankrolle zu einer Freigabe aufgelistet:

Verhalten

Bisher

Jetzt

Die ausführende Rolle kann das Objekt auflösen, aber das Objekt kann nicht freigegeben werden.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object: SQL compilation error: A view can only be shared if it is created as a SECURE view, or marked SECURE using ALTER VIEW V SET SECURE.

Cannot share a database role that is granted privilege ‚SELECT‘ on VIEW ‚DB.SCH.V‘: SQL compilation error: A view can only be shared if it is created as a SECURE view, or marked SECURE using ALTER VIEW V SET SECURE.

Die Datenbankrolle kann das Objekt nicht auflösen und das Objekt ist nicht freigegeben.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object.

Cannot share a database role that is granted non-shareable privileges. Use role with MANAGE GRANTS to fix it.

Die Datenbankrolle kann ein gelöschtes Objekt auflösen, das nicht freigegeben wurde.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object: SQL compilation error: A view can only be shared if it is created as a SECURE view, or marked SECURE using ALTER VIEW VD SET SECURE.

Cannot share a database role that is granted privilege ‚SELECT‘ on DROPPED View ‚DB.DSCH.V‘. Use roles with MANAGE GRANTS to call the CLEANUP_DATABASE_ROLE_GRANTS(‚database_role_name‘, ‚share_name‘) to revoke the privileges and then grant the database role to the share.

Die Datenbankrolle kann ein mit DROP gelöschtes Objekt, das nicht freigegeben wurde, nicht auflösen.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object.

Cannot share a database role that is granted non-shareable privileges. Use role with MANAGE GRANTS to fix it.

Darüber hinaus hilft die Systemfunktion SYSTEM$CLEANUP_DATABASE_ROLE_GRANTS bei dem Szenario, wenn eine Datenbankrolle ein mit DROP gelöschtes Objekt auflösen kann, das nicht freigegeben wurde.

In der folgenden Tabelle sind die Fehlermeldungen aufgelistet, die entfernt werden, wenn Sie versuchen, einer Freigabe eine Datenbankrolle zuzuweisen.

Verhalten

Vorherige Fehlermeldung

Aktuelles Ergebnis

Die Datenbankrolle kann das freigegebene Objekt nicht auflösen.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object.

Sie können der Freigabe die Datenbankrolle zuweisen. Snowflake gibt eine erfolgreiche Statusmeldung zurück.

Die Datenbankrolle kann ein mit DROP gelöschtes Objekt, das freigegeben wurde, nicht auflösen.

Cannot share a database role that is granted privilege ‚SELECT‘ on ‚Table‘ object.

Sie können der Freigabe die Datenbankrolle zuweisen. Snowflake gibt eine erfolgreiche Statusmeldung zurück.

Ref.: 1220