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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (E ~ O)

 

GRANT CONSOLIDATE 文 [SQL Remote]

この文は、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';