Wie übertrage ich Anmeldungen von 2008R2 nach 2014 mit Passwörtern?

12

Ich habe versucht, Tasks> Generate Scripts...'Skript-Anmeldungen' in den erweiterten Skriptoptionen festzulegen, aber in der Ausgabe wird Folgendes angezeigt:

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

Gibt es eine einfache Möglichkeit, diese Anmeldungen mit Kennwörtern zu skripten, oder eine andere Möglichkeit, Anmeldungen von einer 2008R2-Instanz auf eine 2014-Instanz zu übertragen?

Jack sagt, versuchen Sie es mit topanswers.xyz
quelle
4
sqlsoldier.com/wp/sqlserver/… (ignorieren Sie einfach die Spiegelungsreferenzen - dies funktioniert für das Verschieben von Anmeldungen zwischen beliebigen Instanzen).
Aaron Bertrand
@ Aaron das sieht auf den ersten Blick sehr schön aus, danke.
Jack sagt, versuchen Sie topanswers.xyz
1
@Aaron ich am Ende mit dieser das ist im Grunde das gleiche. Vielen Dank, dass Sie mich in die richtige Richtung weisen.
Jack sagt, versuchen Sie topanswers.xyz

Antworten:

8

Um Anmeldungen zu übertragen, müssen Sie das Skript und die Prozedur sp_help_revlogin verwenden. Auf diese Weise können Sie Anmeldungen übertragen und das Kennwort von einer Instanz zu einer anderen beibehalten.

Mike Fal
quelle
Ich war auf dieser Seite, aber ich verstehe sie offensichtlich nicht. Methode 3 sagt: "Erstellen Sie ein Anmeldeskript mit einem leeren Kennwort".
Jack sagt, versuchen Sie topanswers.xyz
1
@JackDouglas Nicht sicher, was diese Phrase bedeutet, aber Sie müssen nur diese beiden gespeicherten Prozeduren auf dem Quellserver erstellen und am Ende einfach sp_help_revlogin ausführen, die Ausgabe von SSMS abrufen und sie auf dem neuen Server ausführen. Sie werden Ihre Logins mit den richtigen Pwds neu erstellen lassen.
Marian
Ich habe dies auf SQL 2014 getestet, aber es funktioniert nicht. Die gleiche Methode funktioniert bis SQL 2012. Wird auch in support.microsoft.com/kb/91899
Iman Abidi
Ich habe getestet, sp_help_revloginaber es funktioniert nicht in SQL 2014 SP1 CU1 (12.0.4416). Dieser KB-Artikel erwähnt, dass es bis SQL Server 2012 funktioniert.
Iman Abidi
6

Ich kann es kaum erwarten, dass alle davon erfahren:

https://dbatools.io/

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

Kurz gesagt: Installieren Sie die Powershell-Skripte von dbatools.

Sie haben jetzt eine wunderbare Reihe von Befehlen, mit denen Sie nicht nur SQL-Benutzer, Kennwörter, Berechtigungen usw. kopieren können. aber auch eine umfassende Reihe von Befehlen zum Kopieren von Datenbanken, Aufträgen und sogar ganzen Instanzen: D

Beispielverwendung:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

oder:

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

Prost!

CyDharttha
quelle
0

Ja können Sie durch Powershell mit verschiedenen Modulen:

1- Verwenden von DBATools: Öffnen Sie Powershell

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

<# Load the module#>

Import-module dbatools

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

2- Verwenden des SQLSERVER-Moduls:

<# 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.#>

Lassen Sie mich wissen, wenn Sie Hilfe benötigen.

Kaawach sagte
quelle