Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 使用诊断跟踪进行高级应用程序分析

 

诊断跟踪范围

下面是诊断跟踪范围的列表。范围值可用于将跟踪限制为引发数据库中活动的谁(或什么)。例如,您可以将范围设置为跟踪来自指定连接的请求。范围值存储在 dbo.sa_diagnostic_tracing_level 诊断表的 scope 列中,并可能具有相应的参数(通常是一个存储在 identifier 列的标识符,如对象名或用户名)。scope 列中的值反映了 [数据库跟踪向导] 中指定的设置。

scope 列中的值 说明
DATABASE

记录数据库中发生的所有事件的跟踪数据(假定事件符合指定的级别和条件)。当需要确定大开销查询的来源时,用于对数据库进行长期后台监控,或用于短期诊断。

当指定 DATABASE 时,不存在要指定的标识符。

ORIGIN

记录源自数据库外部或内部的查询的跟踪数据。

当指定范围 ORIGIN 时,您可以指定下列两个可能的标识符:External 或 Internal。External 指定记录来自数据库服务器外部的查询(并符合指定的级别和条件)的语句文本和相关详细信息。Internal 指定对来自数据库服务器内部的查询(并符合指定的级别和条件)记录同样的信息。

USER

仅对指定用户和指定用户创建的连接所发出的查询记录跟踪数据。此范围用于诊断源自特定用户的有问题的查询。

此范围的标识符为对其执行跟踪的那个用户的名称。

CONNECTION_NAME 或 CONNECTION_NUMBER

仅对当前连接所执行的语句记录跟踪数据。当用户具有多个连接且其中一个连接正在执行大开销的语句时,使用这些范围。

此范围的标识符分别为连接的名称或连接的编号。

FUNCTION、PROCEDURE、EVENT、TRIGGER 或 TABLE

仅对使用指定对象的语句记录跟踪数据。如果该对象引用了其它对象,则也记录所引用对象的所有数据。例如,如果对某个过程进行跟踪,该过程使用一个函数,而该函数又触发某个事件,则将记录所有这三个对象的语句(假定这些对象符合提供给记录的指定级别和条件)。当使用某个特定对象的开销很大时,或者当引用对象的语句要花费相当长的时间才能完成时,使用此范围。

TABLE 范围用于表、实例化视图和非实例化视图。

此范围的标识符为对象的全限定名。

另请参见