You need the EXECUTE privilege on the special macro DBQLAccessMacro to enable and disable query logging. DBQLAccessMacro is created when the Environment is created.
The system users DBC and SystemFE have the EXECUTE privilege on DBQLAccessMacro and can grant it to others when needed. If you want other users, such as your administrative user, to be able to run DBQLAccessMacro, follow this procedure:
- Log on as user DBC (or SystemFE).
- List the contents of database DBC to see if the DBQLAccessMacro, DBQLRuleTbl, and DBQLRuleCountTbl have been created:
HELP DATABASE DBC ;
The DBQL tables, views, and macros are reported.
- Grant the following privileges to your database administrator user:
GRANT EXECUTE ON DBC.DBQLAccessMacro TO DBADMIN ; GRANT SELECT ON DBC.DBQLRULESV TO DBADMIN ;
- Log off the DBC or SystemFE session.
- Log on again as user DBADMIN.
- Define query logging rules for one or more users, one or more accounts, or applications using BEGIN QUERY LOGGING or REPLACE QUERY LOGGING.
- Check the DBQLRules[V] view to see if the rules are correct:
SELECT * FROM DBC.DBQLRulesV ;
If you find an error, submit an REPLACE QUERY LOGGING statement for that user.