¿Cómo transfiero los inicios de sesión de 2008R2 a 2014 con contraseñas?


12

Intenté Tasks> Generate Scripts...y configuré 'Script Logins' en Advanced Scripting Options, pero obtengo esto en la salida:

/* For security reasons the login is created disabled and with a random password. */

¿Hay una manera simple de escribir estos inicios de sesión con contraseñas u otra forma de transferir inicios de sesión de una instancia 2008R2 a una instancia 2014?


44
sqlsoldier.com/wp/sqlserver/… (solo ignore las referencias de duplicación, esto funciona para mover cualquier inicio de sesión entre cualquier instancia).
Aaron Bertrand

@Aaron que se ve muy bien a primera vista, gracias.
Jack dice que intente topanswers.xyz

1
@ Aaron terminé usando esto, que es básicamente lo mismo. Gracias por señalarme en la dirección correcta.
Jack dice que intente topanswers.xyz

Respuestas:


8

Para transferir inicios de sesión, deberá utilizar el script y el procedimiento sp_help_revlogin . Esto le permitirá transferir inicios de sesión y retener la contraseña de una instancia a otra.


He estado en esa página pero evidentemente no la entiendo. El método 3 dice "Crear un script de inicio de sesión que tenga una contraseña en blanco", por lo que, presumiblemente, ¿no es así?
Jack dice que intente topanswers.xyz

1
@JackDouglas No estoy seguro de qué significa esa frase, pero solo necesita crear esos dos procedimientos almacenados en el servidor de origen y, al final, simplemente ejecutar sp_help_revlogin, tomar su salida de SSMS y ejecutarla en el nuevo servidor. Tendrás tus inicios de sesión recreados con las pwds correctas.
Marian

He probado esto en SQL 2014 pero no funciona, el mismo método funciona hasta sql 2012. También mencionado en support.microsoft.com/kb/91899
Iman Abidi

Lo probé sp_help_revloginpero no funciona en SQL 2014 SP1 CU1 (12.0.4416). Este artículo de KB menciona que funciona hasta SQL Server 2012.
Iman Abidi

6

No puedo esperar a que todos se enteren de esto:

https://dbatools.io/

https://blog.netnerds.net/2016/06/its-2016-why-is-sp_help_revlogin-a-thing/

En resumen: instale los scripts dbatools Powershell.

Ahora tiene un maravilloso conjunto de comandos que no solo pueden copiar usuarios SQL, contraseñas, permisos, etc. pero también un conjunto exhaustivo de comandos para copiar bases de datos, trabajos, incluso instancias completas: D

Ejemplo de uso:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

o:

Export-DbaLogin -SqlServer sql2005 -FileName C:\temp\sql2005-logins.sql

¡Salud!



0

Sí, puede hacerlo a través de Powershell utilizando varios módulos:

1- Uso de DBATools: Open Powershell

<# Install-Module dbatools#> #only if not installed

<# Load the module#>

Import-module dbatools

export-dbalogin -SqlInstance ServerName f:\floginsdba.txt

2- Usando el Módulo SQLSERVER:

<# Install-Module sqlserver#> #only if not installed

<# Load the module#>

Import-module sqlserver

cd sqlserver:\serverA\default\logins   # replace the default with any named Inst

dir | %{$_.script()}                   

<# For security, it will create disabled  logins and hashed passwords for sql logins.#>

Avísame si necesitas ayuda.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.