O problema é que a restauração traz de volta 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 logins de usuários. Você os verá em Segurança no nível do banco de dados, mas eles não têm logins no nível do servidor correspondentes.
Você precisa reconectar os usuários do banco de dados com logins do servidor na instância em que você restaurou o banco de dados.
Existem algumas maneiras de fazer isso:
-
Crie novos logins para eles na nova instância. Você terá que removê-los como usuários do banco de dados na nova instância e adicionar seus novos logins. Isso parece estranho, já que 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 nas instâncias, use o sp_help_revlogin procedimento armazenado. 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 gerará um script SQL que você pode executar no servidor de destino para criar os mesmos usuários que transportam SIDs, senhas, tudo. Esse é o caminho a percorrer se você tiver muitos usuários do banco de dados que precisa se reconectar na instância de destino ou se não souber senhas para um ou mais Logins do SQL na instância de origem.