Come trasferisco gli accessi da 2008R2 a 2014 con password?


12

Ho provato Tasks> Generate Scripts...e impostato "Login script" nelle Opzioni di scripting avanzate, ma ottengo questo nell'output:

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

Esiste un modo semplice per scrivere questi accessi con password o un altro modo per trasferire gli accessi da un'istanza 2008R2 a un'istanza 2014?


4
sqlsoldier.com/wp/sqlserver/… (ignora solo i riferimenti al mirroring: funziona per spostare tutti gli accessi tra le istanze).
Aaron Bertrand

@Aaron che sembra molto bello a prima vista, grazie.
Jack dice di provare topanswers.xyz il

1
@Aaron Ho finito per usare questo che è sostanzialmente la stessa cosa. Grazie per avermi indicato nella giusta direzione.
Jack dice di provare topanswers.xyz il

Risposte:


8

Per trasferire gli accessi, dovrai utilizzare lo script e la procedura sp_help_revlogin . Ciò ti consentirà di trasferire gli accessi e conservare la password da un'istanza all'altra.


Sono stato su quella pagina ma evidentemente non lo capisco. Il metodo 3 dice "Crea uno script di accesso con una password vuota", quindi presumibilmente non è vero?
Jack dice di provare topanswers.xyz il

1
@JackDouglas Non sei sicuro di cosa significhi quella frase, ma devi solo creare quelle due procedure memorizzate sul server di origine e, alla fine, eseguire sp_help_revlogin, prendere il suo output da SSMS ed eseguirlo sul nuovo server. Avrai ricreato i tuoi accessi con i pwds corretti.
Marian,

ho provato questo su SQL 2014 ma non funziona, lo stesso metodo funziona fino a sql 2012. anche menzionato in support.microsoft.com/kb/91899
Iman Abidi il

Ho provato sp_help_revloginma non funziona in SQL 2014 SP1 CU1 (12.0.4416). Questo articolo della KB menziona che funziona fino a SQL Server 2012.
Iman Abidi,

6

Non vedo l'ora che tutti imparino questo:

https://dbatools.io/

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

In breve: installare gli script dbatools Powershell.

Ora hai un meraviglioso set di comandi che non solo può copiare utenti, password, autorizzazioni, ecc. SQL; ma anche un insieme esaustivo di comandi per la copia di database, lavori, persino intere istanze: D

Esempio di utilizzo:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

o:

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

Saluti!


1

è ancora possibile utilizzare lo script sp_help_revlogin e la procedura per SQL 2014 come precedentemente risposto ( Come trasferire accessi e password tra istanze di SQL Server ). Ma ha bisogno di modifiche manuali (ingrandendo la lunghezza delle variabili del valore hash):

  • sostituire 256 -> 512
  • sostituire 514 -> 1028
  • sostituire 1024 -> 2048

0

Sì, è possibile tramite Powershell utilizzando vari moduli:

1- Utilizzo di DBATools: Apri Powershell

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

<# Load the module#>

Import-module dbatools

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

2- Utilizzo del modulo 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.#>

Fammi sapere se hai bisogno di aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.