Kategorien:

Information Schema, Tabellenfunktionen

DATA_METRIC_FUNCTION_REFERENCES

Gibt eine Zeile für jedes Objekt zurück, dem die angegebene Datenmetrikfunktion zugewiesen ist, oder gibt eine Zeile für jede Datenmetrikfunktion zurück, die dem angegebenen Objekt zugewiesen ist.

Siehe auch:

Ansicht DATA_METRIC_FUNCTION_REFERENCES (Account Usage-Ansicht)

Syntax

DATA_METRIC_FUNCTION_REFERENCES(
  METRIC_NAME => '<string>' )

DATA_METRIC_FUNCTION_REFERENCES(
  REF_ENTITY_NAME => '<string>' ,
  REF_ENTITY_DOMAIN => '<string>'
  )
Copy

Argumente

METRIC_NAME => 'string'

Gibt den Namen der Datenmetrikfunktion an.

  • Der gesamte Datenmetrikname muss in einfache Anführungszeichen gesetzt werden.

  • Wenn der Datenmetrikname zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß-/Kleinschreibung und Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, z. B. '"<metric_name>"'.

REF_ENTITY_NAME => 'string'

Der Name des Objekts, z. B. table_name, view_name oder external_table_name, zu dem die Datenmetrikfunktion hinzugefügt wird.

  • Der gesamte Objektname muss in einfache Anführungszeichen gesetzt werden.

  • Wenn der Objektname zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß-/Kleinschreibung und Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, z B. '"<table_name>"'.

REF_ENTITY_DOMAIN => 'string'

Der Objekttyp, z. B. Tabelle oder materialisierte Ansicht, zu dem die Datenmetrikfunktion hinzugefügt wird.

Verwenden Sie 'TABLE' für alle unterstützten Tabellentypen.

Rückgabewerte

Die Funktion gibt die folgenden Spalten zurück:

Spalte

Datentyp

Beschreibung

metric_database_name

VARCHAR

Die Datenbank, in der die Datenmetrikfunktion gespeichert sind.

metric_schema_name

VARCHAR

Das Schema, in dem die Datenmetrikfunktion gespeichert ist.

metric_name

VARCHAR

Der Name der Datenmetrikfunktion.

argument_signature

VARCHAR

Die Typsignatur der Metrik-Argumente.

data_type

VARCHAR

Datentyp des Rückgabewerts der Datenmetrikfunktion.

ref_database_name

VARCHAR

Der Name der Datenbank, die das Objekt enthält, zu dem die Datenmetrikfunktion hinzugefügt wird.

ref_schema_name

VARCHAR

Der Schemaname, der das Objekt enthält, zu dem die Datenmetrikfunktion hinzugefügt wird.

ref_entity_name

VARCHAR

Der Name der Tabelle oder Ansicht, auf die die Datenmetrikfunktion eingestellt ist.

ref_entity_domain

VARCHAR

Der Objekttyp (Tabelle, Ansicht), auf den die Datenmetrikfunktion eingestellt ist.

ref_arguments

ARRAY

Identifiziert die Referenzargumente, die zur Auswertung der Regel verwendet werden.

ref_id

VARCHAR

Ein eindeutiger Bezeichner für die Zuordnung der Datenmetrikfunktion zu der Tabelle oder Ansicht.

schedule

VARCHAR

Der Zeitplan für die Ausführung der Datenmetrikfunktion auf der Tabelle oder Ansicht. Der Wert für den Zeitplan ist immer der aktuellste und effektivste Zeitplan.

schedule_status

VARCHAR

Der Status der Metrik-Zuordnung. Eine der folgenden Optionen:

STARTED

Die Datenmetrik-Zuordnung auf der Tabelle oder Ansicht ist für die Ausführung geplant.

STARTED_AND_PENDING_SCHEDULE_UPDATE

Es gab eine Änderung im Zeitplan für die Datenmetrik, und der neue Zeitplan ist noch nicht in Kraft. Erlauben Sie Snowflake, den Zeitplan zu aktualisieren und den Zeitplan mit der Datenmetrikfunktion zu synchronisieren. Dieser Wert ist vorübergehend, bis die Aktualisierungen abgeschlossen sind.

Wenn Sie den Zeitplan mit dem Befehl ALTER TABLE oder ALTER VIEW deaktivieren, bleibt dieser Wert erhalten, bis ein neuer Zeitplan eingestellt wird.

SUSPENDED

Die Datenmetrik-Zuordnung auf der Tabelle oder Ansicht ist nicht geplant. Dieser Wert tritt auch auf, wenn die verwendete Rolle, die die Funktion aufruft, nicht die Berechtigung OWNERSHIP für die Tabelle hat.

Wenn Sie die Account Usage-Ansicht abfragen, sind die folgenden Werte standardmäßig sichtbar. Wenn Sie die Tabellenfunktion aufrufen, müssen Sie jedoch eine Rolle mit der Berechtigung OWNERSHIP für die Tabelle verwenden, um diese Werte anzeigen zu können:

SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

Eine der folgenden Berechtigungen:

  • Die Tabelle wird gelöscht.

  • Das Schema oder die Datenbank, die die Tabelle enthält, wird gelöscht

  • Das Schema oder die Datenbank, die die Tabelle enthält, kann nicht durch die Rolle des Tabelleneigentümers aufgelöst werden.

    „Aufgelöst“ bedeutet, dass die Rolle, die die Funktion aufruft, nicht die entsprechenden Berechtigungen für das Schema oder die Datenbank hat, die die Tabelle enthält.

SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

Eine der folgenden Berechtigungen:

  • Die DMF wird gelöscht.

  • Das Schema oder die Datenbank, die die DMF enthält, wird gelöscht.

  • Das Schema oder die Datenbank, die die DMF enthält, kann von der Rolle des Tabelleneigentümers nicht aufgelöst werden.

SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

Eine der folgenden Berechtigungen:

  • Die Spalte der Zieltabelle wird gelöscht.

  • Das Schema oder die Datenbank, die die Spalte enthält, wird gelöscht.

  • Das Schema oder die Datenbank, die die Spalte enthält, kann nicht durch die Rolle des Tabelleneigentümers aufgelöst werden.

SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION

Die Rolle des Tabelleneigentümers hat nicht die Berechtigung EXECUTE DATA METRIC FUNCTION.

SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

Die Ereignistabelle wird nicht auf Kontoebene festgelegt.


Die Ergebnisse werden auf der Grundlage der Berechtigungen zurückgegeben, die der Rolle erteilt wurden, die die Abfrage ausführt:

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:

  • Jede unterstützte Berechtigung für die Datenmetrikfunktion.

    • Für System-DMFs kann der Rolle die Datenbankrolle DATA_METRIC_USER zugewiesen werden.

  • SELECT-Berechtigung für die Tabelle oder Ansicht.

Nutzungshinweise

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder die Funktion muss vollqualifizierte Objektnamen verwenden. Weitere Details dazu finden Sie unter Snowflake Information Schema.

  • Wählen Sie zum Ausführen einer Abfrage eine Syntaxvariante aus. Das Mischen von Argumenten führt zu System- und Abfragefehlern.

    Die Argumente REF_ENTITY_NAME und REF_ENTITY_DOMAIN müssen zusammen enthalten sein, sonst schlägt die Abfrage fehl.

  • Snowflake gibt Fehler zurück, wenn der angegebene Objektname nicht existiert oder wenn der Abfrageoperator nicht berechtigt ist, eine Datenmetrikfunktion für das Objekt anzuzeigen. Snowflake kann ein Resultset von Datenmetrikzuordnungen zurückgeben, wenn der Operator eine Teilmenge der Datenmetrikzuordnungen anzeigen darf.

  • Nicht unterstützte Objekttypen, die als REF_ENTITY_DOMAIN aufgeführt sind, wie z. B. 'stream', geben Fehler zurück.

Beispiele

Rückgabe einer Zeile für jedes Objekt (Tabelle oder Ansicht), auf dessen Tabelle oder Ansicht die DMF namens count_positive_numbers gesetzt wurde:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      METRIC_NAME => 'governance.dmfs.count_positive_numbers'
    )
  );
Copy

Rückgabe einer Zeile für jede DMF, die der Tabelle hr.tables.empl_info zugewiesen ist:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      REF_ENTITY_NAME => 'hr.tables.empl_info',
      REF_ENTITY_DOMAIN => 'table'
    )
  );
Copy