在指定 user 作为 SQLTRACE 配置参数中的方式后,必须运行 SQL 管理 API task() 或 admin() 函数来打开对特定用户的 SQL 历史记录跟踪。
必须以用户 gbasedbt 或其他授权用户身份连接 sysadmin 数据库。
无需启用全局 SQL 跟踪,即可对特定用户进行 SQL 跟踪。
要启用对特定用户的 SQL 跟踪,请运行使用 set sql tracing on 作为第一个自变量,用户会话标识作为第二个自变量的 task() 或 admin() 函数。
要对除 root 或 gbasedbt 之外的所有用户启用用户 SQL 跟踪,可运行使用 set sql tracing on 自变量和定义这些用户的信息的 task() 或 admin() 函数。
EXECUTE FUNCTION task("set sql user tracing on", 74);
以下示例启用对当前连接到系统的用户(只要它们未以用户 root 或 gbasedbt 身份登录)的 SQL 语句跟踪。
dbaccess sysadmin -<<END execute function task("set sql tracing on", 1000, 1,"low","user"); select task("set sql user tracing on", session_id) FROM sysmaster:syssessions WHERE username not in ("root","gbasedbt"); END
有关 task() 和 admin() 函数的更多信息,请参阅 GBase 8s 管理员参考。