Verwenden von Ereignistabellen

Sie können eine Teilmenge der Tabellenoperationen auf einer Ereignistabelle ausführen, die speziell für das Erfassen von Ereignissen konzipiert ist. Die Abschnitte unter diesem Thema beschreiben die Operationen, die von Ereignistabellen unterstützt werden.

Unterstützte Operationen auf Ereignistabellen

Da eine Ereignistabelle speziell für das Erfassen von Ereignissen konzipiert ist, können Sie einige der Operationen, die Sie auf normalen Tabellen ausführen können, nicht auf einer Ereignistabelle ausführen.

Auf einer Ereignistabelle können Sie nur die folgenden Operationen ausführen:

Löschen von Zeilen aus einer Ereignistabelle

Wenn Sie Zeilen aus einer Ereignistabelle löschen müssen, können Sie die folgenden Befehle verwenden:

  • Verwenden Sie TRUNCATE TABLE, um alle Zeilen aus der Ereignistabelle zu entfernen.

  • Verwenden Sie DELETE, um ausgewählte Zeilen aus der Ereignistabelle zu entfernen.

    Sie können diese Befehle verwenden, wenn Sie komplexere Richtlinien für die Aufbewahrung von Protokolleinträgen umsetzen müssen (z. B. wenn Sie Protokolleinträge von einigen Funktionen länger als von anderen Funktionen aufbewahren müssen).

Parameter für Ereignistabellen

Sie können die folgenden Parameter verwenden, um festzulegen, wie die Ereignistabelle vom Handler-Code verwendet werden soll.

EVENT_TABLE

Gibt den Namen der Ereignistabelle für das Protokollieren von Meldungen aus gespeicherten Prozeduren und UDFs in diesem Konto an. Referenzinformationen dazu finden Sie unter EVENT_TABLE.

LOG_LEVEL

Gibt den Schweregrad von Meldungen an, die in die aktive Ereignistabelle erfasst und zur Verfügung gestellt werden sollen. Meldungen des angegebenen Schweregrads (und mit höherem Schweregrad) werden erfasst. Weitere Informationen dazu finden Sie unter LOG_LEVEL und Einstellen des Protokolliergrads.

TRACE_LEVEL

Legt die Ausführlichkeit der Ablaufverfolgungsereignisse fest, die erfasst und in der aktiven Ereignistabelle zur Verfügung gestellt werden sollen. Es werden Ereignisse des angegebenen Ausführlichkeitsgrads erfasst. Weitere Informationen dazu finden Sie unter TRACE_LEVEL und Einstellen des Protokolliergrads (Ablaufverfolgungsebene).

Zugriffssteuerungsrechte für Ereignistabelle

Sie können Berechtigungen im globalen Geltungsbereich und im Geltungsbereich der Ereignistabellen verwenden, um den Zugriff auf Operationen für Ereignistabellen zu verwalten.

Weitere Informationen dazu finden Sie unter Berechtigungen von Ereignistabellen und zu Berechtigungen für den Protokolliergrad unter Globale Berechtigung (Berechtigungen auf Kontoebene).

Verwalten des Zugriffs auf Ereignistabellendaten

Wenn es für Sie unpraktisch ist, die Daten der Ereignistabelle einer Reihe von Benutzern und Rollen zugänglich zu machen, können Sie spezielle Ansichten erstellen, auf die nur Benutzer mit bestimmten Rollen Zugriff haben.

Ein Konto kann immer nur eine aktive Ereignistabelle haben. Wenn Sie den Zugriff auf die Daten in dieser einzelnen Tabelle verwalten möchten, können Sie auf der Ereignistabelle verschiedene Ansichten erstellen und dann den Zugriff auf jede Ansicht an die jeweilige Rollen erteilen. Über die Ansicht erhält eine Rolle Zugriff auf eine bestimmte Teilmenge der Daten in der Ereignistabelle.

Weitere Informationen zum Erstellen von Ansichten finden Sie unter CREATE VIEW.

Verwenden von Streams zum Verfolgen von Änderungen an Ereignistabellen

Sie können einen Stream auf einer Ereignistabelle erstellen, um z. B. Änderungen an der Tabelle zu erfassen.

Weitere Informationen zu Streams finden Sie unter Änderungsnachverfolgung mit Tabellenstreams und CREATE STREAM.

Der Code im folgenden Beispiel erstellt einen Stream zum Erfassen von Einfügungen in die Ereignistabelle my_event_table.

CREATE STREAM append_only_comparison ON EVENT TABLE my_event_table APPEND_ONLY=TRUE;
Copy