Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
SQL Anywhere 提供了一组系统函数,它们可以访问每个连接、每个数据库或者整个服务器范围的信息。可用信息的类型有多种,其中包括静态信息(如数据库服务器名称)和详细的性能相关统计信息(如磁盘和内存使用情况)。
以下函数检索系统信息:
PROPERTY 函数 此函数提供给定属性在整个服务器范围的值。
DB_PROPERTY 和 DB_EXTENDED_PROPERTY 函数 这两个函数提供给定数据库(缺省情况下为当前数据库)的给定属性的值。
CONNECTION_PROPERTY 和 CONNECTION_EXTENDED_PROPERTY 函数 这两个函数提供给定连接(缺省情况下为当前连接)的给定属性的值。
仅提供您要检索的属性的名称作为参数。这些函数将返回当前服务器、连接或数据库的值。
为了提高性能,监控数据库活动的客户端应用程序应该使用 PROPERTY_NUMBER 函数来标识指定的属性,然后使用该编号重复检索统计信息。
通过这种方法获得的属性名称可用于多种不同的数据库统计信息,包括从已执行的事务日志页写操作的次数和检查点操作的次数,到从内存高速缓存中读取索引叶页的次数。
下面的一组语句说明通过 Interactive SQL 执行的过程:
CREATE VARIABLE propnum INT; CREATE VARIABLE propval INT; SET propnum = PROPERTY_NUMBER( 'CacheRead' ); SET propval = DB_PROPERTY( propnum );
以下语句将名为 server_name 的变量设置为当前服务器的名称:
SET server_name = PROPERTY( 'name' );
以下查询用于返回当前连接的用户 ID:
SELECT CONNECTION_PROPERTY( 'UserID' );
以下查询用于返回当前数据库根文件的文件名:
SELECT DB_PROPERTY( 'file' );