Anuncios

jueves, 16 de julio de 2009

Mover logins de una base de datos a otra

Varias personas me preguntan cómo mover los logins de una base de datos a otra.
Cuando uno hace un backup de una base de datos y restaura el servidor en otra base de datos, los logins no se restauran.

Requerimientos: SQL Server 2005/2008

Eso se debe a que los logins son almacenados en la base de datos del sistema llamada master en la vistas sys.syslogins.

Existe un buen articulo de microsoft para mover los logins:

http://support.microsoft.com/kb/918992/es

Para poder ensayar yo use un servidor con 2 instancias de sql server. En la vida real serian 2 servidores sql server diferentes.

Voy a utilizar una instancia llamada danvirt y otra instancia llamada danvirt\daniel (noto algo de egocentrismo y narcicismo en estos nombres).

En darnvirt están los logins que quiero mover a danvirt\daniel

Bueno, para apreciar esto le recomiendo verificar que los logins de danvirt sean diferentes a los de danvirt\daniel. Si no lo son, cree logins adicionales.

1. Entonces lo que queda es ejecutar el código de la página de microsoft en darnvirt (presione aquí para bajarse el .sql) que creará un procedimiento almacenado llamado sp_help_revlogin
2. Ejecutar el procedimiento almacenado:
Execute sp_help_revlogin
3. Lo que hace este procedimiento almacenado es generar código para generar logins:

4. Copie el código y ejecútelo en danvirt\daniel. El código generará los logins deseados.
Si tienen dudas y problemas, escriban a este blog. Sólo necesitan una cuenta de gmail.

Artículos relacionados.

People who read this post also read :