O problema é que a restauração recupera os usuários do banco de dados da instância original do servidor, mas a nova instância normalmente não sabe nada sobre esses logons de usuário. Você os verá em Segurança no nível do banco de dados, mas eles não têm logins correspondentes no nível do servidor.
Você precisa reconectar os usuários do banco de dados com logons do servidor na instância em que restaurou o banco de dados.
Existem algumas maneiras de fazer isso:
Crie novos logins para eles na nova instância. Você precisará removê-los como usuários do banco de dados na nova instância e adicionar seus novos logins. Isso parece estranho, pois você pode criar os mesmos nomes de login, mas os SIDs (identificadores de segurança) serão diferentes e é isso que o SQL usa para identificação do usuário. Isso é fácil o suficiente para um ou dois logins.
Se você deseja manter os mesmos usuários, mantendo os mesmos SIDs, entre instâncias, use o procedimento armazenado sp_help_revlogin . Copie o código do link que criará os procedimentos armazenados necessários e execute-o no servidor do qual você deseja copiar os usuários. Ele irá gerar um script SQL que você pode executar no servidor de destino para criar os mesmos usuários carregando SIDs, senhas, tudo. Este é o caminho a seguir, se você tiver muitos usuários de banco de dados, precisará se reconectar na instância de destino ou se não souber senhas para um ou mais Logins SQL na instância de origem.
EXEC sp_change_users_login 'Auto_Fix', 'User', NULL, 'password';
vez disso. :)