
Este problema es causado cuando se restaura una base de datos en un server diferente, la restauracion crea el usuario de la base de datos que tenia en el otro server, pero el usuario no tiene permisos para conectarse ni editar la base de datos en el nuevo server.
A continuacion les pongo un ejemplo de como solucione este problema.
Hice una base de datos llamada prueba, y restaure el archivo prueba.bak hacia esta base de datos.
Esta base de datos tenia un usuario llamado desafio24. Obviamente este usuario no existia en el Microsoft SQL server donde estamos restaurando el backup.
Abri el Query Analyzer y ejecute este comando:
sp_change_users_login ‘update_one’, ‘desafio24′, ‘desafio24′
Este comando re-linkea el usuario desafio24 de la base de datos restaurada como un usuario que puede hacer login.
Abajo les va a desplegar esto:
The command(s) completed successfully.
Ahora le pueden cambiar la clave a este usuario si es necesario, esto lo hacen con el siguiente comando:
Use master
go
sp_password NULL, ‘hola’, ‘desafio24′
Despues de ejecutar este comando les va a desplegar esto abajo:
Password changed.
Con este comando cambian la clave del login desafio24 a hola.
Despues de esto se podran conectar sin ningun problema a la base de datos, incluso también se podrán conectar con el Microsoft Sql Manangement Studio 2005.
Esto es una solucion rapida al encontrarse en una emergencia que necesitan restaurar rápidamente una base de datos y acceso a la misma.
Hay otras maneras de solucionar esto, pero esta es una de las mas rápidas.