BEGIN/REPLACE/END QUERY LOGGING文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベースの管理

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/rgu1556127906220.ditamap
dita:ditavalPath
ja-JP/rgu1556127906220.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage

DBQLロギングの有効化および無効化に使用される、Teradata SQLのDCL文のそれぞれの目的を次のテーブルに説明します。

目的
BEGIN QUERY LOGGING DBQLAccessMacroに対するEXECUTE権限を持つユーザーによって実行依頼されると、この文は名前を指定されたユーザー/アカウント/アプリケーションのペアに関するロギングを可能にします。
ログ可能な最大数は次のとおりです。
  • 100ユーザー
  • 1ユーザーに100アカウント
  • 100アプリケーション

上記の数字は、1文あたりです。100を超えるユーザーにロギングを使用可にする場合、100名のユーザーそれぞれにBEGIN QUERY LOGGING文のブロックを使用します。アクティブなセッションの場合、ロギングは、Vantageが次の問合わせを受け取ったときに始まります。

また、あるユーザー、アカウント、アプリケーション名についてロギングが実行されないようにするルールを有効にすることもできます。

詳細については、ロギング シナリオを参照してください。

REPLACE QUERY LOGGING DBQLAccessMacroでEXECUTE権限を所有するユーザーによって実行されると、この文はロギングを有効にして、1つがユーザー、アカウント、アプリケーションの組に一致する場合はDBC.DBQLRuleTblテーブルにある既存のルールを削除して、新しいルールを作成します。ルールが存在しない場合、新しいルールがDBC.DBQLRuleTblテーブルに追加されます。
END QUERY LOGGING DBQLAccessMacroに対するEXECUTE権限を持つユーザーによって実行依頼されると、この文は名前を指定されたユーザー、アカウント、アプリケーションに関するロギングを停止します。各END QUERY LOGGING文は、1ユーザー/100アプリケーションの場合、100ユーザー/100アカウント未満をリストします。DBQLは、データをコミットし、すべてのDBQLキャッシュをフラッシュするルーチンを呼び出します。

END QUERY LOGGING文を発行するたびに、システムはルール キャッシュをすべてフラッシュし、さらにDBQLデータ テーブルをフラッシュします。

その他の方法を使用して、DBQLキャッシュをフラッシュすることもできます。DBQLキャッシュのフラッシュに関するオプションを参照してください。

END QUERY LOGGINGの詳細については、ロギングの動的な使用可/置換/使用不可の現在のルールに及ぼす影響を参照してください。

使用可にしたすべてのBEGIN QUERY LOGGING文は、適切なEND QUERY LOGGING文の構文を使用して使用不可にする必要があります。例えば次を発行したとします。

BEGIN QUERY LOGGING WITH SQL ON user1 ACCOUNT='Marketing';

以下の構文を使用して、そのユーザーのロギングを停止する必要があります。

END QUERY LOGGING ON user1 ACCOUNT='Marketing';

複数のアカウントをリストする場合は括弧を使用します。例えば、ACCOUNT= ('Marketing', 'Finance')となります。

文の構造については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。他のユーザーがこれらの文を実行依頼できるようにする方法については、DBQL管理者権限の他のユーザーへの付与を参照してください。