Una de las tareas fundamentales a la hora de hacer las migraciones o mover las bases de datos de una instancia a otra es transferir los logins. Cuando queremos transferir un login entre instancias de SQL Server, además de transferir la contraseña, normalmente queremos que el nuevo login tenga el mismo SID para evitar que los usuarios queden huérfanos dentro de las bases de datos migradas o transferidas.
En la base de conocimiento de Microsoft existen dos artículos que describen los pasos y los detalles a tener en cuenta para realizar esta tarea. Se deberá seleccionar el que corresponda dependiendo de la versión de SQL Server de origen como de destino.
El método usado es el de crear dos procedimientos almacenados que luego al ser invocados generan una secuencias de comandos T-SQL que permiten crean los inicios de sesión con el mismo SID y la contraseñas original cuando se los ejecutan en la nueva instancia.
How to transfer logins and passwords between instances of SQL Server
En este artículo (en inglés) se describe cómo transferir los inicios de sesión y las contraseñas a un nuevo servidor. El método explicado en el documento se aplica cuando:
- Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 7.0.
- Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 2000.
- Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 2005.
- Transfiere inicios de sesión y contraseñas entre servidores que ejecutan SQL Server 2000.
- Transfiere inicios de sesión y contraseñas de SQL Server 2000 a SQL Server 2005.
http://support.microsoft.com/?scid=kb;en-us;246133&x=13&y=12
IMPORTANTE: Existen diferencias entre el artículo de la versión en inglés que contiene dos scripts diferentes, un script para transferir los logins entre versiones SQL Server 7.0/2000 y SQL Server 7.0/2000 y otro script para transferirlos entre SQL Server 7.0/2000 y SQL Server 2005/8. En el mismo artículo en español solo está documentado el procedimiento entre versiones SQL Server 7.0/2000 a SQL Server 7.0/2000.
Cómo transferir inicios de sesión y contraseñas entre servidores SQL Server
Versión en español (incompleto)
http://support.microsoft.com/kb/246133/es
Cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server 2005 y SQL Server 2008
Este artículo describe cómo transferir los inicios de sesión y las contraseñas entre instancias de Microsoft SQL Server 2005 y Microsoft SQL Server 2008.
http://support.microsoft.com/kb/918992/es