17.10 - クエリー ロギングのユーザー ルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

さまざまなユーザーの各種情報のロギングが可能なので、システム テーブルDBC.DBQLRuleTblを使用して個々のユーザーのさまざまなロギング ルールを保守します。これらのルールは、ロギングされた各ユーザーのログオン アカウント列に基づいており、高速にアクセスできるようキャッシュ内で保守されます。

このトピックには、ルール階層の説明はありませんが、デフォルトのアカウントやDBQLルールの理解に役立つ情報があります。データベース クエリー ロギングのルールを適用する階層を参照してください。

DBC.DBQLRulesVビューにアクセスする必要があります。DBC.DBQLRuleTblとDBC.DBQLRuleCountTblには、いずれも直接アクセスできません。

セッションは常にアカウントに関連付けられます。ログオン時に、ユーザーのログオン文字列で異なるアカウント割り当てを指定していない限り、セッションはログオンしているユーザーのデフォルトのアカウントに関連付けられます。<Teradata® CLI V2ワークステーション接続システム、B035-2418>のログオン ポインタに関する情報を参照してください。

DBQLでは、次の順序でルールが検索されます。
  1. ローカル キャッシュ。
  2. ルール データベース。

user1にはデフォルト アカウントabcがあり、それがアカウントdefにも割り当てられており、次のBEGIN QUERY LOGGINGリクエストを実行したとします。

BEGIN QUERY LOGGING ON ALL ACCOUNT = 'ABC';

BEGIN QUERY LOGGING WITH OBJECTS ON user1 ACCOUNT = 'def';

このシナリオでは、ユーザーがログオン時にアカウント文字列を指定しない場合、システムはすべてのルールの代わりにuser1のルールを適用します。

ユーザー1がログオンして実行する操作 適用されるルール
アカウントdefを指定する user1。

システムは、以下のリクエストで指定したルールを使用して、"user1"のクエリーのロギングと、これらのクエリーのオブジェクトのロギングを実行します。

     BEGIN QUERY LOGGING WITH OBJECTS
       ON user1
       ACCOUNT =  'def ';
アカウントを指定しない ALL。

システムは、以下のリクエストで指定したルールを使用して、user1のクエリーをロギングしますが、それらに関するオブジェクト情報はロギングしません

BEGIN QUERY LOGGING
  ON ALL
  ACCOUNT =  'abc ';