存档

文章标签 ‘锁’,文章数:2

Sybase ASE自V12.5.0.3引入了MDA表来监控Sybase数据库的性能,ASE15以来MDA的监控能力越来越强。本博客中有关于如何配置MDA表的文章:

如何配置监控表MonTables来实现ASE的监控功能

MDA中的代理表monProcessSQLText包含当前所有会话正在执行的SQL语句。如果已经配置了MDA,可以通过查询该代理表monProcessSQLText来获得正在执行的SQL语句。

在没有配置MDA监控的环境中,可以使用更加通用的命令来查询当前会话正在执行的SQL语句。dbcc sqltext命令需要sybase_ts_role角色才能执行,过程sp_showplan需要sa_role角色才能执行

下面提供一个存储过程来查询当前Sybase服务器内正在执行的所有SQL语句。思路是:获得当前使用锁的会话ID(spid),利用游标遍历得到每个spid的正在执行的SQL语句。

Adaptive Server version 15.0.2 uses row-level locking on system tables to enhance performance. Versions of Adaptive Server earlier than 15.0.2 used exclusive table locks on system tables while executing data definition language (DDL) and utility commands. The set of system tables Adaptive Server locked depended on the type of DDL operation you executed. If another [...]