如何创建监视SQL语句的事件监控器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建监视SQL语句的事件监控器相关的知识,希望对你有一定的参考价值。

参考技术A 打2008事件探查器工具栏按钮新建跟踪连要跟踪数据库实例确定即新建跟踪查看链接数据库实例语句执行创建完跟踪
每客户端都ClientProcessID想跟踪客户端语句执行情况:
先让客户端查询报表通事件探查器看看ClientProcessID暂停事件探查
文件——属性——筛选——面找ClientProcessID,等于处双击填入客户端ClientProcessID,确定重新启追看客户端运行情况!

sql 创建用于锁定的事件监视器

CREATE EVENT MONITOR mylockevmon
        FOR LOCKING WRITE TO TABLE LOCK (TABLE mylockevmon.LOCK), LOCK_PARTICIPANTS (TABLE mylockevmon.LOCK_PARTICIPANTS), LOCK_PARTICIPANT_ACTIVITIES (TABLE mylockevmon.LOCK_PARTICIPANT_ACTIVITIES), LOCK_ACTIVITY_VALUES (TABLE mylockevmon.LOCK_ACTIVITY_VALUES), CONTROL (TABLE mylockevmon.CONTROL);

SET EVENT MONITOR mylockevmon STATE 1;
SELECT
	ACT.MEMBER
	,ACT.EVENT_TIMESTAMP
	,substr(rtrim(PART.table_schema)||'.'||PART.table_name,1,40) as tabela
	,PART.APPL_ID,PART.AUTH_ID
	,CASE
	WHEN LENGTH(ACT.STMT_TEXT) > 807 THEN
		X'0A' || SUBSTR(rtrim(REPLACE(ACT.STMT_TEXT,X'0A',' ')),1,350) || ' (...) ' || SUBSTR(RIGHT(REPLACE(ACT.STMT_TEXT,X'0A',' '),450),1,450)
	ELSE
		X'0A' || SUBSTR(rtrim(REPLACE(ACT.STMT_TEXT,X'0A',' ')),1,807)
	END AS STMT_TEXT

	FROM 
		ADILSON.LOCK_PARTICIPANTS PART, ADILSON.LOCK_PARTICIPANT_ACTIVITIES ACT
			WHERE ACT.EVENT_ID = PART.EVENT_ID AND
				ACT.PARTICIPANT_NO = PART.PARTICIPANT_NO
			AND ACT.EVENT_TYPE = 'DEADLOCK'
		ORDER BY ACT.EVENT_TIMESTAMP DESC

以上是关于如何创建监视SQL语句的事件监控器的主要内容,如果未能解决你的问题,请参考以下文章

监控性能

如何从Zabbix数据库中获取监控数据

sqlserver2008 监控某个表的改动情况

如何使用 glib/gio 监控根目录?

分布式系统监视zabbix讲解二之邮件报警通知--技术流ken

监控SQL Server事务复制