Jak przenieść loginy z 2008R2 na 2014 za pomocą haseł?

12

Próbowałem Tasks> Generate Scripts...i ustawiłem „Script Logins” w Advanced Scripting Options, ale otrzymuję to w wyniku:

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

Czy istnieje prosty sposób na skryptowanie tych loginów za pomocą haseł lub inny sposób przeniesienia loginów z instancji 2008R2 do instancji 2014?

Jack mówi, że spróbuj topanswers.xyz
źródło
4
sqlsoldier.com/wp/sqlserver/… (po prostu zignoruj ​​odwołania do kopii lustrzanych - działa to w przypadku przenoszenia wszelkich loginów między dowolnymi instancjami).
Aaron Bertrand
@Aaron, który na pierwszy rzut oka wygląda bardzo ładnie, dzięki.
Jack mówi, że spróbuj topanswers.xyz
1
@Aaron Skończyło się na tym, że to w zasadzie to samo. Dzięki za wskazanie mi właściwego kierunku.
Jack mówi, że spróbuj topanswers.xyz

Odpowiedzi:

8

Aby przenieść dane logowania, musisz użyć skryptu i procedury sp_help_revlogin . Umożliwi to przeniesienie danych logowania i zachowanie hasła z jednej instancji do drugiej.

Mike Fal
źródło
Byłem na tej stronie, ale najwyraźniej jej nie rozumiem. Metoda 3 mówi „Utwórz skrypt logowania z pustym hasłem”, więc prawdopodobnie nie?
Jack mówi, że spróbuj topanswers.xyz
1
@JackDouglas Nie jestem pewien, co oznacza to wyrażenie, ale wystarczy utworzyć te dwie procedury składowane na serwerze źródłowym, a na koniec uruchomić sp_help_revlogin, pobrać dane wyjściowe z SSMS i wykonać je na nowym serwerze. Twoje loginy zostaną odtworzone przy użyciu poprawnych plików pwds.
Marian
przetestowałem to na SQL 2014, ale nie działa, ta sama metoda działa do sql 2012. wspomniany również w support.microsoft.com/kb/91899
Iman Abidi
Testowałem, sp_help_revloginale nie działa w SQL 2014 SP1 CU1 (12.0.4416). W tym artykule KB wspomina się, że działa do SQL Server 2012.
Iman Abidi
6

Nie mogę się doczekać, aż wszyscy się o tym dowiedzą:

https://dbatools.io/

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

W skrócie: zainstaluj skrypty Powershell dbatools.

Masz teraz wspaniały zestaw poleceń, które mogą nie tylko kopiować użytkowników SQL, hasła, uprawnienia itp .; ale także wyczerpujący zestaw poleceń do kopiowania baz danych, zadań, a nawet całych instancji: D

Przykładowe użycie:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

lub:

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

Twoje zdrowie!

CyDharttha
źródło
0

Tak, możesz to zrobić za pomocą programu PowerShell przy użyciu różnych modułów:

1- Korzystanie z DBATools: Otwórz Powershell

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

<# Load the module#>

Import-module dbatools

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

2- Korzystanie z modułu 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.#>

Daj mi znać, jeśli potrzebujesz pomocy.

Kaawach Said
źródło