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?


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.


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!



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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.