Comment transférer les connexions de 2008R2 à 2014 avec des mots de passe?

12

J'ai essayé Tasks> Generate Scripts...et défini «Connexions de script» dans les options de script avancées, mais j'obtiens ceci dans la sortie:

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

Existe-t-il un moyen simple de créer un script pour ces connexions avec des mots de passe ou une autre façon de transférer les connexions d'une instance 2008R2 à une instance 2014?

Jack dit d'essayer topanswers.xyz
la source
4
sqlsoldier.com/wp/sqlserver/… (ignorez simplement les références de mise en miroir - cela fonctionne pour déplacer toutes les connexions entre toutes les instances).
Aaron Bertrand
@Aaron qui a l'air très bien à première vue, merci.
Jack dit d'essayer topanswers.xyz le
1
@Aaron J'ai fini par utiliser ce qui est fondamentalement la même chose. Merci de m'avoir indiqué dans la bonne direction.
Jack dit d'essayer topanswers.xyz le

Réponses:

8

Pour transférer les connexions, vous devrez utiliser le script et la procédure sp_help_revlogin . Cela vous permettra de transférer les connexions et de conserver le mot de passe d'une instance à l'autre.

Mike Fal
la source
Je suis allé sur cette page mais je ne comprends évidemment pas. La méthode 3 dit "Créer un script de connexion avec un mot de passe vide", donc ce n'est probablement pas le cas?
Jack dit d'essayer topanswers.xyz le
1
@JackDouglas Vous ne savez pas ce que signifie cette phrase, mais il vous suffit de créer ces deux procédures stockées sur le serveur source et, à la fin, d'exécuter sp_help_revlogin, de prendre sa sortie de SSMS et de l'exécuter sur le nouveau serveur. Vous aurez vos connexions recréées avec les pwds corrects.
Marian
j'ai testé cela sur SQL 2014 mais ne fonctionne pas, la même méthode fonctionne jusqu'à SQL 2012. également mentionné dans support.microsoft.com/kb/91899
Iman Abidi
J'ai testé sp_help_revloginmais cela ne fonctionne pas dans SQL 2014 SP1 CU1 (12.0.4416). Cet article de la base de connaissances mentionne qu'il fonctionne jusqu'à SQL Server 2012.
Iman Abidi
6

J'ai hâte que tout le monde apprenne ça:

https://dbatools.io/

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

En bref: installez les scripts Powershell dbatools.

Vous avez maintenant un merveilleux ensemble de commandes qui peuvent non seulement copier les utilisateurs SQL, les mots de passe, les autorisations, etc. mais aussi un ensemble exhaustif de commandes pour copier des bases de données, des jobs, voire des instances entières: D

Exemple d'utilisation:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

ou:

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

À votre santé!

CyDharttha
la source
0

Oui, vous pouvez utiliser Powershell en utilisant différents modules:

1- Utilisation de DBATools: Ouvrez Powershell

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

<# Load the module#>

Import-module dbatools

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

2- Utilisation du module 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.#>

Faites-moi savoir si vous avez besoin d'aide.

Kaawach Said
la source