Tal vez este artÃculo también os sea útil: Como migrar usuarios de una base de datos a otra en SQL Server
Si se os quedan usuarios huérfanos (orphan users) al pasar una base de datos de un sitio a otro con la opción de backup y restore, podréis sincronizar los logins, siempre que existan en la instancia, uno a uno con el sp_change_users_login, pero es algo bastante incómodo cuando son varias bases de datos o bases de datos con muchos usuarios. Para sincronizar todos los usuarios de una base de datos de una sóla vez, tenemos este script:
USE database_name --Change to active database name
GO
DECLARE @UserName nvarchar(255)
DECLARE orphanuser_cur cursor for
SELECT UserName = name
FROM sysusers
WHERE issqluser = 1 and (sid is not null and sid <> 0x0) and
suser_sname(sid) is null
ORDER BY name
OPEN orphanuser_cur
FETCH NEXT FROM orphanuser_cur INTO @UserName
WHILE (@@fetch_status = 0)
BEGIN
PRINT @UserName + ' user name being resynced'
EXEC sp_change_users_login 'Update_one', @UserName, @UserName
FETCH NEXT FROM orphanuser_cur INTO @UserName
END
CLOSE orphanuser_cur
DEALLOCATE orphanuser_cur
Muy útil, verdad?