Como medir o tempo necessário para mudar uma função de espelhamento de banco de dados?

2

Eu quero medir o tempo necessário para o SQL Server mudar as funções do servidor. Existe uma maneira de saber quanto tempo leva o espelho para se tornar o principal e pronto para novas atualizações?

Muito obrigado!

    
por Vimvq1987 31.01.2010 / 15:06

3 respostas

2

Monitore usando a infraestrutura do criador de perfil para a Classe de evento de mudança de estado do espelhamento de banco de dados . O StartTime conterá a hora do evento. O estado conterá o novo estado após a alteração. Não tenho certeza se me lembro se a mudança de estado ocorre antes que o novo principal execute a recuperação ou depois disso, você terá que testar e ver. A julgar pelo post do Nick eu diria que é depois, então o evento é perfeito para você.

    
por 10.02.2010 / 00:55
1

você tentou procurar no log de erros no servidor em que você fez o failover? deve ver algo assim:

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.
    
por 01.02.2010 / 06:52
1

Um método de força bruta realmente feio poderia ser ter um pequeno aplicativo que se conecta ao principal uma vez por segundo. Se você configurá-lo com o redirecionamento explícito do cliente, será possível dizer em que ponto ele falha e você pode se conectar com êxito ao novo principal.

Procure a classe SqlConnection .Net - o membro DataSource em uma conexão bem-sucedida fornece o nome do servidor ao qual você está conectado.

Acompanhar os tempos envolvidos é um SMOC.

Espero que isso ajude.

    
por 01.02.2010 / 23:09