Search This Blog

Tuesday, October 18, 2011

Como migrar usuarios y passwords desde SQL Server 2000 hacia SQL Server 2008 y 2008 R2

 

Hace poco en una migración me encontré con este dilema, típicamente usaba un script planteado por Msft que ayudaba en este proceso http://support.microsoft.com/kb/246133/en-us, sin embargo y por esas cosas del destino o del motor, este script no funcionó correctamente, acudí a la migración a través de SSIS, que nos permite a través de una tarea hacer transferencia de logins entre instancias de SQL Server, sin embargo no soy muy amante de ese tipo de soluciones y concluí que debía existir una opción adicional, que si SSIS podía, pues yo también podía por otro lado… la solución es bastante simple a decir verdad y tiene muchas menos líneas de código que el originalmente planteado por Msft, lo que si les puedo asegurar es que la migración fue exitosa.

Step by step

1. Migren los usuarios ANTES de migrar cualquier base de datos

2. Ejecuten el siguiente script en el SQL Server 2000 (Aun no he probado si funciona en 2005 o 2008)

select 'CREATE LOGIN [' + l.name + '] WITH PASSWORD = ', (CAST(l.password as varbinary(256))), ' HASHED, SID = ', CAST(l.sid as varbinary), ', CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF ' + 'GO ' from master..syslogins l where l.isntname + l.isntgroup = 0

3. El resultado, cópienlo y péguenlo en el nuevo server (Para mi caso un SQL Server 208 R2)

4. Ejecuten el Script que tienen como resultado

Voila!… sus usuarios y passwords están migrados y a salvo!

8 comments:

Moiso said...

FUNCIONA PERFECTO ME SACO DE UN LIO INCREIBLE MUY BUEN POST PUDE MIGRAR MI APLICATIVO Y AHORA SI FUNCIONA!!...
Muchas Gracias¡¡

Walter said...

Y casi un año más tarde el post sigue sirviendo... je.
Muchas Gracias!!!

Jhon Victoria said...

Si.. Sigue sirviendo

YISHENG LEON said...

perfecto funciona perfecto despues de dos años

Efren Gustavo Tuyuc said...

Migre la bd a sql 2008 y que error. Con el script funciona bien; seria bueno si alguien ha migrado los usuarios después de haber levantado la bd en sql2008.


Saludos y gracias por el aporte.

Adan Aguilera said...

@Efren Gustavo Tuyuc No lo he hecho la verdad, pero se me ocurre que puedes utilizar el procedimiento sp_change_users_login para reajustar el usuario de base de datos con el inicio de sesion que habias creado
Saludos

Jack Alan Gomez said...

Estamos en el 2016 migrando de SQL Server 2008 a Sql Server 2016 y funciona perfectamente solo hay que eliminar el "Go" al final de cada línea (Usuario)

micky khan said...

Migrando de 2005 a 2008 en este año 05/2017... una bala.....esperamos a fin de año migrar a 2016......

LinkWithin

Related Posts Plugin for WordPress, Blogger...