例: ルール セットに対する問合わせロギングの起動と無効化 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

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

ルールとしてのmyuser2の変更のロギングは、END QUERY LOGGINGリクエストを実行すると順次無効になります。

(ルール1)すべてのユーザー、すべてのアカウントをサマリー ロギングする

     BEGIN QUERY LOGGING LIMIT SUMMARY = 1,5,10 CPUTIME ON ALL ; 

これらのリクエストでは、DBC.DBQLRuleTblに次の2つの新しいルールを作成します。

  • (ルール2)特定のアカウント'sales'を持つすべてのユーザーのデフォルト情報およびSQLをロギングする
  • (ルール3)特定のアカウント'sales'を持つmyuser2をロギングしない
         BEGIN QUERY LOGGING WITH SQL ON ALL ACCOUNT='sales';
         BEGIN QUERY LOGGING  WITH NONE ON  myuser2 ACCOUNT = 'sales';

このリクエストでは、DBC.DBQLRuleTblに次の2つの新しい追加ルールを作成します。

  • (ルール4)デフォルト、myuser2のSQLおよびオブジェクト、すべてのアカウントをロギングする
  • (ルール5)デフォルト、myuser3のSQLおよびオブジェクト、すべてのアカウントをロギングする
         BEGIN QUERY LOGGING WITH SQL, OBJECTS ON myuser2, myuser3;  

次の問合わせロギングの動作は、これらのルールに基づいた結果です。

  1. ユーザーmyuser2はアカウント'sales'でログオンしているため、ルール3が適用されます。ロギングは発生しません。
  2. このリクエストはルール2を削除しますが、myuser2:'sales 'では引き続きルール3が使用されます。
         END QUERY LOGGING on ALL ACCOUNT='sales';
  3. このリクエストはルール3を削除しますが、myuser2:'sales'は前に使用したルール3を使用する代わりにサマリー ロギングを行なうルール1を使用して、問合わせのロギングを開始します。
         END QUERY LOGGING myuser2  ACCOUNT='sales';