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.
GRANT REMOTE TO Benutzer-ID, ... TYPE Nachrichtensystem, ... ADDRESS Adressenzeichenfolge, ... [ SEND { EVERY | AT } Sendezeit ]
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:
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.
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.
DBA-Berechtigung ist erforderlich.
Automatisches Festschreiben (Autocommit).
SQL/2003 Erweiterung des Herstellers
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'; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |