さまざまなユーザー、ユーザー アカウント、アプリケーションごとに、多数の異なるルールを有効にできます。DBQLは、次の順番でルールをチェックして適用します。
- 特定のアプリケーションで指定されているすべてのユーザー
- 特定ユーザー、特定アカウント
- 特定ユーザー、すべてのアカウント
- すべてのユーザー、特定アカウント
- すべてのユーザー、すべてのアカウント
ルールの例外を作成するには、WITH NONEオプションを使用します。WITH NONEオプションを使用すれば、ある広範囲のルールから特定のセッションを除外するルールを作成できます。例えば、特定のアプリケーションでログオンしている、user1を除くすべてのユーザーについてロギングを有効にするルールを作成する場合は、そのアプリケーションのすべてのユーザーをログするルールを作成した上で、user1についてはWITH NONEオプションを使用して別のルールを作成し、ロギングを無効にすることができます。(ロギング アカウントのシナリオの例を参照してください)。
各ユーザーがログオンするたびに、まずDBQLはルールキャッシュでルールを検索し、ルールが見つからない場合は、DBQLRuleTblテーブルを検索します。検索は、この最適ルール階層の順番に基づいて実行されます。