Durante una migración o de recuperación de desastres en un nuevo SQL Server es posible que los usuarios huérfanos ocurrir: si un usuario estaba en el servidor antiguo, pero no en el nuevo, el hecho de volver a crear el nuevo servidor le asignará un nuevo SPID. Para SQL Server por lo que este es un usuario diferente.
Tomemos el caso de un servidor que contenía irreparablemente dañados de bases de datos SQL y, en particular, un desarrollador de usuario. et il est donc nécessaire de le recréer. Las copias de seguridad de los usuarios se restaura en otro servidor SQL Server y el dev usuario aparece en la lista de derechos para cada base de datos, pero no existe en la lista de los derechos de acceso al servidor por lo que es necesario volver a crear . Si se muestra una lista de los derechos de acceso a esta base de usuarios nuevos, vemos que no tiene acceso a los servicios básicos. Peor aún, si tratamos de darle los derechos necesarios obtenemos el siguiente mensaje de error:
El usuario, grupo o función 'dev' ya existe en la base de datos actual. (Microsoft SQL Server, Error: 15023)
Para obtener ayuda, haga clic en:
Para solucionar este problema podemos utilizar el sp_change_users_login para vincular lo viejo a lo nuevo usuario:
EXEC sp_change_users_login 'update_one','ancien_utilisateur','nouvel_utilisateur'
Si l’on veut lier ces utilisateurs sur toutes les bases on peut utiliser :
EXEC master..sp_msforeachdb "EXEC sp_change_users_login 'update_one','ancien_utilisateur','nouvel_utilisateur'"Tags : SQL Server 2005










