イベントテーブルの設定

ログまたはトレースを開始する前に、ハンドラーコードによって生成されたメッセージとイベントデータを収集するイベントテーブルを設定する必要があります。定義済みの列のセットを使用して、イベントテーブルは、関数およびプロシージハンドラーコードからログされたイベント、イベントログ、およびトレースイベントを記録するように設計されています。

イベントテーブルには、作成する他のテーブルとは異なる次の特性があります。

  • このテーブルには、ログエントリとトレースイベントをキャプチャするための事前定義された一連の列が含まれています。テーブルの構造には、事前定義されたデータと設計したデータの両方を保持するための列とキー/値の属性オブジェクト定義が含まれています。

  • ログエントリをキャプチャし、そのテーブルにイベントを追跡するために、イベントテーブルをアカウントに関連付けます。アカウントに関連付けることができるイベントテーブルは一度につき1つだけです。関連付けられたイベントテーブルは、 アクティブイベントテーブル と呼ばれます。

  • ログメッセージの重大度レベルと、キャプチャするトレースイベントの詳細度を指定できます。

  • ストアドプロシージャ、 UDFs、および UDTFs のハンドラーコードによって生成されたログメッセージとトレースイベントは、アクティブイベントテーブルに格納されます。

ログ用のイベントテーブルを設定するには、次を実行する必要があります(このトピック内で説明)。

  1. イベントテーブルを作成する

  2. イベントテーブルをアカウントに関連付ける

  3. ログイベントとトレースイベントのレベルを設定する

イベントテーブルを作成する

ログおよびトレースイベントデータを格納するためのイベントテーブルを作成するには、 CREATE EVENT TABLE コマンドを実行し、イベントテーブルの名前を指定します。後でイベントテーブル名を使用して、アカウント内のストアドプロシージャ、 UDFs、および UDTFs によって生成されたログをテーブルでキャプチャできるようにします。

イベントテーブルを作成するときは、テーブル内の列を指定しないように注意してください。 イベントテーブル列 で説明されているように、イベントテーブルには事前定義された一連の列がすでにあります。

注釈

イベントテーブルの複製は現在サポートされていません。イベントテーブルを含むデータベースを複製しようとすると、複製は失敗します。

イベントテーブルは、複製が有効になっていないデータベースに作成する必要があります。

たとえば、 my_events という名前のイベントテーブルを作成するには、次のステートメントを実行します。

CREATE EVENT TABLE my_database.my_schema.my_events;
Copy

イベントテーブルをアカウントに関連付ける

アカウントの関数およびプロシージャからのログおよびトレースイベントデータのストレージを有効にするには、作成したイベントテーブルが、アカウントのアクティブなイベントテーブルであることを指定する必要があります。

アカウントのアクティブなイベントテーブルを指定するには、 ALTER ACCOUNT コマンドを実行し、 EVENT_TABLE パラメーターをイベントテーブルの名前に設定します。

注釈

このコマンドを実行するには、 ACCOUNTADMIN ロールを使用する必要があります。

さらに、次の権限を 両方 持つ必要があります。

ALTER ACCOUNT の実行に必要な権限の詳細については、 ALTER ACCOUNT コマンドに関するドキュメント をご参照ください。

たとえば、データベース my_database のスキーマ my_schema にある my_events という名前のイベントテーブルを、アカウントのアクティブなイベントテーブルとして設定するには、次のステートメントを実行します。

ALTER ACCOUNT SET EVENT_TABLE = my_database.my_schema.my_events;
Copy

上記のように、イベントテーブルの 完全修飾名 を指定する必要があります。

イベントテーブルとアカウントの関連付けを解除するには、 ALTER ACCOUNT コマンドを実行し、 EVENT_TABLE パラメーター設定を解除します。例:

ALTER ACCOUNT UNSET EVENT_TABLE;
Copy

EVENT_TABLE 値は、 SHOW PARAMETERS コマンドで確認できます。

SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
Copy

ログイベントとトレースイベントのレベルを設定する

ログまたはトレースレベルを設定することで、イベントテーブルに格納されているログおよびトレースイベントデータのレベルを管理できます。ログやトレースの実行前に、これらの設定を使用して、必要な量と種類のデータをキャプチャしていることを確認してください。

  • メッセージをログする場合は、 ログレベルの設定 で説明されているように、ログメッセージの重大度のしきい値を設定できます。

  • イベントをトレースする場合は、 トレースレベルの設定 で説明されているように、イベントデータの詳細度を設定できます。