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.