Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (E-O)

 

GRANT REMOTE-Anweisung [SQLRemote]

Sie verwenden diese Anweisung, um eine Datenbank unmittelbar unter der aktuellen Datenbank in einer SQL Remote-Hierarchie zu kennzeichnen, die Nachrichten von der aktuellen Datenbank empfangen wird. Hierbei handelt es sich um entfernte Benutzer.

Syntax
GRANT REMOTE TO Benutzer-ID, ...
TYPE Nachrichtensystem, ...
ADDRESS Adressenzeichenfolge, ...
[ SEND { EVERY | AT } Sendezeit ]
Parameter
  • Benutzer-ID   Die Benutzer-ID des Benutzers, dem die Berechtigung erteilt wird

  • Nachrichtensystem   Eines der Nachrichtensysteme, die von SQL Remote unterstützt werden. Hierfür muss einer der folgenden Werte verwendet werden:

    • FILE
    • FTP
    • SMTP

  • Adresszeichenfolge   Eine Zeichenfolge, die eine gültige Adresse für das angegebene Nachrichtensystem enthält

  • Sendezeit   Eine Zeichenfolge, die Uhrzeit-Spezifikationen im Format hh:mm:ss enthält.

Bemerkungen

In einer SQL Remote-Installation müssen jeder Datenbank REMOTE-Berechtigungen erteilt werden, die Nachrichten von der aktuellen Datenbank empfängt.

Die einzige Ausnahme bildet die Datenbank unmittelbar über der aktuellen Datenbank in einer SQL Remote-Hierarchie, der CONSOLIDATE-Berechtigungen zugeordnet werden müssen.

Der entfernte Benutzer wird anhand eines Nachrichtensystems identifiziert, indem die Methode gekennzeichnet wird, mit der Nachrichten an den konsolidierten Benutzer versendet und von ihm empfangen werden. Der Adressenname muss eine gültige Adresse für das Nachrichtensystem sein, die von Apostrophen umschlossen ist.

Beim FILE-Nachrichtentyp ist die Adresse ein Unterverzeichnis des Verzeichnisses, auf das die SQLREMOTE-Umgebungsvariable zeigt.

Die GRANT REMOTE-Anweisung ist für die entfernte Datenbank erforderlich, um Nachrichten zu empfangen; sie selbst subskribiert aber keine Daten für den entfernten Benutzer. Um die Daten zu subskribieren, muss eine Subskription für die Benutzer-ID für eine der Publikationen in der aktuellen Datenbank erstellt werden, indem das Extraktionsdienstprogramm für Datenbanken oder die CREATE SUBSCRIPTION-Anweisung verwendet werden.

Die optionalen SEND EVERY- und SEND AT-Klauseln legen die Häufigkeit fest, mit der Nachrichten versendet werden. Die Zeichenfolge enthält eine Zeitangabe, welche die Dauer zwischen den Nachrichten (bei SEND EVERY) oder eine Uhrzeit (bei SEND AT) darstellt, zu denen Nachrichten versendet werden. Mit SEND AT werden Nachrichten einmal pro Tag versendet.

Wenn einem Benutzer Berechtigungen als entfernter Benutzer ohne eine SEND EVERY- oder SEND AT-Klausel erteilt wurden, verarbeitet der Nachrichtenagent die Nachrichten und schaltet sich dann ab. Um den Nachrichtenagenten kontinuierlich auszuführen, müssen Sie sicherstellen, dass für jeden Benutzer mit REMOTE-Berechtigung entweder eine SEND AT- oder eine SEND EVERY-Frequenz festgelegt wird.

Man kann davon ausgehen, dass der Nachrichtenagent in vielen entfernten Datenbanken kontinuierlich ausgeführt wird, sodass für alle entfernten Datenbanken eine SEND-Klausel angegeben ist. Eine typische Systemeinrichtung könnte so aussehen, dass Nachrichten an Laptop-Benutzer täglich (SEND AT) und an entfernte Server alle ein oder zwei Stunden (SEND EVERY) versendet werden. Sie sollten aus Gründen der Effizienz wenig verschiedene Zeitangaben wie möglich verwenden.

Berechtigungen

DBA-Berechtigung ist erforderlich.

Nebenwirkungen

Automatisches Festschreiben (Autocommit).

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Die folgende Anweisung erteilt dem Benutzer SamS Berechtigungen als entfernter Benutzer. Dabei wird ein auf SMTP basierendes E-Mail-System verwendet, das alle zwei Stunden Nachrichten an die Adresse "Singer, Samuel" versendet:

GRANT REMOTE TO SamS
TYPE SMTP
ADDRESS 'Singer, Samuel'
SEND EVERY '02:00';