この文は、SQL Remote 階層において、現在のデータベースのすぐ上にあり、現在のデータベースからメッセージを受信するデータベースの識別に使用します。
GRANT CONSOLIDATE TO userid TYPE message-system, ... ADDRESS address-string, ... [ SEND { EVERY | AT } hh:mm:ss ]
message-system: FILE | FTP | SMTP
address: string
userid パーミッションが付与されるユーザのユーザ ID。
message-system SQL Remote がサポートするメッセージ・システムの 1 つ。
address 指定したメッセージ・システムのアドレス。
SQL Remote インストール環境で、SQL Remote 階層で現在のデータベースのすぐ上にあるデータベースに、CONSOLIDATE パーミッションを付与します。GRANT CONSOLIDATE は、統合データベースを識別するためにリモート・データベースで発行されます。各データベースが保持できる CONSOLIDATE パーミッションを持つユーザ ID は 1 つだけです。1 つのデータベースを複数の統合データベースに対して共通のリモート・データベースとして指定できません。
統合ユーザはメッセージ・システムにより識別され、統合ユーザに対するメッセージの送受信方法が識別されます。address-name には、メッセージ・システムに対して有効なアドレスを、一重引用符で囲んで指定します。統合ユーザは、各リモート・データベースに対して 1 人だけです。
FILE メッセージ・タイプの場合、アドレスは SQLREMOTE 環境変数で指定されているディレクトリのサブディレクトリです。
GRANT CONSOLIDATE 文は、統合データベースがメッセージを受信するためには必要ですが、統合データベースをサブスクライブして何らかのデータを取得するものではありません。データをサブスクライブするには、現在のデータベースにあるパブリケーションの統合ユーザ ID に対するサブスクリプションを作成します。統合データベースでデータベース抽出ユーティリティを実行すると、それに対して適切な GRANT CONSOLIDATE 文が発行された状態でリモート・データベースが作成されます。
オプションの SEND EVERY 句と SEND AT 句を使用すると、メッセージを送信する間隔を指定できます。文字列には、メッセージ送信間隔の時間 (SEND EVERY) またはメッセージを送信する時刻 (SEND AT) を指定します。SEND AT の場合、メッセージは 1 日に 1 回送信されます。
ユーザに SEND EVERY 句も SEND AT 句もない REMOTE パーミッションが付与されている場合、Message Agent はメッセージを処理した後、停止します。Message Agent を継続的に実行する場合は、REMOTE パーミッションを持つすべてのユーザの SEND AT または SEND EVERY の頻度が指定されていることを確認します。
多くのリモート・データベースでは Message Agent を定期的に実行するため、統合データベースに SEND 句が指定されていないことがあります。
DBA 権限が必要です。
オートコミット。
SQL/2003 ベンダ拡張。
GRANT CONSOLIDATE TO con_db TYPE SMTP ADDRESS 'Singer, Samuel'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |