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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

さまざまなユーザーの各種情報のロギングが可能なので、システム テーブル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 ';