发送电子邮件在Sql Server 2005故障转移

我有两个Sql Server 2005实例在Principal和Mirrorconfiguration中运行两个数据库副本。

我想发送一封电子邮件给任何人,只要有一个故障转移,我的意思是主数据库(无论什么原因),所以两个数据库的交换angular色,镜子成为委托人(和委托人成为镜子)。

我已经configuration了“数据库邮件”并成功地使用sp_send_dbmail发送了一条testing消息。 但是我不知道如何创build一个在故障转移时运行的Sql Server代理作业(或者其他方法)。

我想这样做的方式是以某种方式挂钩到某种“噢!我是镜子一秒钟之前,但我已经成为委托人”事件,并使其执行sp_send_dbmail

任何人有任何想法如何做到这一点? 或者更好的方式来完成这个?

在那里有一个警告,以提醒故障转移,伟大的工程:

http://msdn.microsoft.com/en-us/library/cc966392.aspx

我假设你有一个见证实例在这里允许自动故障转移的数据库。

我要处理这个问题的方法是在主体和镜像上存储一个表,用于存储sys.database_mirroring中“mirroring_role_description”列的值,然后让SQL代理作业运行一个执行以下操作的脚本:

  1. 将当前值与存储的值进行比较,如果更改则发送电子邮件
  2. 将当前值存储在表中