2010-02-01 16:33:50.600,spid23s,Starting up database 'adventureworks'.
2010-02-01 16:33:54.240,spid23s,2 transactions rolled forward in database 'adventureworks' (8). This is an informational message only. No user action is required.
2010-02-01 16:33:54.330,spid28s,0 transactions rolled back in database 'adventureworks' (8). This is an informational message only. No user action is required.
2010-02-01 16:33:54.330,spid28s,Recovery is writing a checkpoint in database 'adventureworks' (8). This is an informational message only. No user action is required.
2010-02-01 16:33:55.220,spid12s,Database mirroring is active with database 'adventureworks' as the principal copy. This is an informational message only. No user action is required.
使用数据库镜像状态更改事件类的分析器基础结构进行监控。StartTime 将包含事件的时间,State 将包含更改后的新状态。我不确定我是否记得状态更改发生在新主体运行恢复之前还是之后,您必须测试并查看。从尼克的帖子来看,我想说的是之后,所以这个活动对你来说是完美的。
您是否尝试在故障转移到的服务器上查看错误日志?应该看到这样的东西:
一个非常丑陋的蛮力方法可能是有一个小应用程序每秒连接一次主体。如果您使用显式客户端重定向配置它,您将能够知道它在什么时候故障转移,并且您可以成功连接到新主体。
查找 SqlConnection .Net 类 - 成功连接上的 DataSource 成员会为您提供所连接的服务器名称。
跟踪所涉及的时间是 SMOC。
希望这可以帮助。