Я хочу измерить время, необходимое SQL Server для переключения ролей сервера. Есть ли способ узнать, сколько времени требуется зеркалу, чтобы стать основным и готовым к новым обновлениям?
Большое спасибо!
Мониторинг с помощью инфраструктуры профилировщика для Класс события изменения состояния зеркального отображения базы данных. StartTime будет содержать время события, State будет содержать новое состояние после изменения. Я не уверен, что помню, происходит ли изменение состояния до того, как новый участник запустит восстановление, или после этого, вам придется протестировать и посмотреть. Судя по посту Ника, я бы сказал, что это после, так что мероприятие идеально подходит для вас.
Действительно уродливым методом грубой силы могло бы быть небольшое приложение, которое подключается к принципалу раз в секунду. Если вы настроите его с явным перенаправлением клиента, вы сможете определить, в какой момент происходит сбой, и вы сможете успешно подключиться к новому участнику.
Найдите класс SqlConnection .Net - член DataSource при успешном подключении дает вам имя сервера, к которому вы подключены.
Отслеживание времени - это SMOC.
Надеюсь это поможет.
вы пробовали искать в журнале ошибок на сервере, на который произошел сбой? должен увидеть что-то вроде этого:
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.