システム・イベントは「イベント・タイプ」によって分類されます。イベント・タイプは、CREATE EVENT 文の中で直接指定するか、Sybase Central を使って指定します。イベント・タイプには 2 つの種類があります。
アクティブ・イベント・タイプ イベント・タイプには、データベース・サーバ自体のアクションの結果であるものがあります。こうしたアクティブなイベント・タイプには、データベース・ファイル・サイズ、さまざまなデータベース・アクションの開始時、終了時 (BackupEnd など)、RAISERROR などが含まれます。
データベース・サーバは、アクションを実行するときに、WHERE 句に定義されたトリガ条件が満たされているかどうかをチェックし、条件が満たされていればイベント・タイプに対して定義されたイベントをトリガします。
ポーリング・イベント・タイプ ディスクの空き領域 (DBDiskSpace など) や IdleTime などのイベント・タイプは、データベースのアクションだけでトリガされません。
このタイプのイベントに対して、データベース・サーバは 30 秒ごとにポーリングします。ポーリングはデータベースの開始後、約 30 秒後から開始されます。
IdleTime イベント・タイプの場合、データベース・サーバはサーバが 30 秒間アイドル状態にあったかどうかをチェックします。その間まったく要求が開始されず、現在アクティブな要求もなければ、秒単位のアイドル・チェック間隔時間をアイドル時間の合計に追加します。そうでない場合はアイドル時間の合計が 0 にリセットされます。したがって、IdleTime の値は、常に 30 秒の倍数になります。IdleTime がトリガ条件に指定した間隔より長くなると、IdleTime に関連付けられたイベント・ハンドラが起動します。Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |