São esses logins SQL? Em caso afirmativo, é provável que o mapeamento entre os logins do SQL e os usuários do banco de dados esteja fora de sincronia entre o principal e o espelho.
Eu já tive problemas com isso no passado, embora eu tenha tido a sorte de apenas me importar com um usuário específico.
Você deve tentar a seguinte função no espelho:
EXEC sp_change_users_login 'update_one', @login, @login
Para redefinir o mapeamento entre login @login e usuário do banco de dados @login.
Se isso não funcionar, tente a abordagem "Auto_fix":
EXEC sp_change_users_login 'Auto_Fix', @login, NULL, @password
Isso deve criar o usuário do banco de dados e mapeá-lo de acordo se ele ainda não existir.
Isso acontece com logins SQL porque o servidor de banco de dados gerará SIDs para esses logins. Esses SIDs são o que liga um usuário do banco de dados a um login. Mesmo que o mesmo login possa existir em dois servidores diferentes, seus SIDs podem ser diferentes e, assim, você terá credenciais "perdidas", se desejar. Isso não acontece para contas do Windows, porque o SQL Server usará o SID do Windows da própria conta ao criar o logon associado.