Aqui está o que eu acho que aconteceu, isso é baseado no palpite na sua tag de pergunta de usuário órfão, então eu posso estar errado.
- seu banco de dados falhou no principal para o espelho.
- o servidor de banco de dados no espelho (agora o diretor) não tinha o login com script do primário, mas em vez disso foi criado como um novo entrar. Isso significaria que o sid não combinava, então havia problemas com o login do usuário após o failover.
- Para corrigir o problema de login %código% foi executado para corrigir o problema de login. Isso teria mudou o sid do usuário no banco de dados para coincidir com o sid do login no servidor de banco de dados.
- O banco de dados falhou novamente. Agora, o login sid no
servidor de banco de dados não corresponde mais.
O que fazer? usar
sp_change_users_login 'Update_One'
novamente para corrigir o problema.
O que deveria ter acontecido:
os logins do principal que são usados no banco de dados que participa do espelhamento são roteirizados (como sugerido por mr denny) para o espelho. A maneira mais fácil de fazer isso é usar sp_help_rev_login Você também pode usar o tarefa de logins de transferência do SSIS .
O sid para logins do servidor de banco de dados é visível em sys.server_principals. O sid para os usuários do banco de dados está em sys.database_principals. Verifique isso para garantir que não haja uma falta de correspondência.