SQL Server, ideas y experiencias

Cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server

por Jose Mariano Alvarez 9. agosto 2010

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

Tags: , ,

Documentos

Comentarios

12/08/2010 15:37:10 #

Juan

Hola, usted los uso alguna vez? porque esos script tienen errores y no pasa por ejemplo los Roles que un Login puede tener asociado

Juan Argentina

13/08/2010 1:12:12 #

Jose Mariano Alvarez

Juan:

Solo el método 2 del documento en inglés que transfiere los Logins desde el SQL Server 2000 al SQL Server 2005/8 tiene la posibilidad de generar el script para transferir los roles de servidor entre las instancias. Las otras versiones del script no lo hacen.
Puede ver el siguiente post que he agregado y que contiene un script para generar las sentencias T-SQL que asignan los roles de servidor:

Como transferir los roles de servidor entre instancias de SQL Server 2005 o 2008
blog.josemarianoalvarez.com/.../...005-o-2008.aspx

No hace falta generar un script con los roles de base de datos ya que viajan con la propia base de datos y al tener el login el mismo SID quedan relacionados correctamente.

Saludos

Jose Mariano Alvarez Argentina

Comentarios no permitidos

Powered by SQL Total Consulting


View Jose Mariano Alvarez's profile on LinkedIn

 Add to Technorati Favorites 

Calendar

<<  febrero 2012  >>
lumamijuvido
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Locations of visitors to this page


Valid XHTML 1.0 Transitional

Valid CSS!