sql 2005镜像警报历史记录

时间:2010-08-20 03:56:30

标签: sql-server-2005 mirroring alerts

我们在2个SQL Server 2005标准版之间设置了镜像。 还有镜像警报设置如下:  数据库镜像(镜像丢失连接)  数据库镜像(与主体丢失的连接)  DB镜像(主要运行暴露)  数据库镜像(同步镜像)  数据库镜像(同步主体) 镜像提交开销超过阈值(MIRROR) 最旧的未发送交易超过阈值(PRINCIPAL) 未恢复的日志超过阈值(MIRROR) 未发送日志超过阈值(PRINCIPAL)

“最早的未发送交易超过了阈值”警报在最后几天发生了很多次。但是这个警报并不是专门用于数据库的。这只是平均值。

我认为这个信息应该在一个表中,我发现它是msdb.dbo.dbm_monitor_data表。它包含log_flush_rate,send_queue_size,send_rate,redo_queue_size,redo_rate,transaction_delay和transactions_per_sec等数据以及数据库名称。然后我想知道这个表是如何填充的。为此,我发现SQL Server创建的“数据库镜像监视器作业”的镜像监视作业运行sp sp_dbmmonitorupdate,该镜像从镜像perfmon计数器填充此表。这项工作每分钟都有一次。

警报是在11:23:52生成的。 这些作业每分钟只运行一次,但仍设法在11:23:00然后在11:23:52(生成警报时)捕获数据,这是一分钟两次。

我认为可能是,当生成警报时,它也会运行此存储过程。如果它更新了表,那么我可以运行一个select语句。但我怎么能确定?

问题: 我怎样才能找出为什么这张表没有计划更新?什么引发了人口?有谁知道哪个表包含警报历史数据?

注意:没有正在运行的重建索引作业,并且已设置镜像阈值,如以下屏幕截图所示: alt text

有人可以帮忙吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

答案:sp_dbmmonitorupdate会引发错误,从而引发警报,从而填充表格。我挖掘了所有镜像存储过程和表来找到它。 : - )