Girişleri 2008R2'den 2014'e şifrelerle nasıl aktarabilirim?


12

Denedim Tasks> Generate Scripts...ve Gelişmiş Komut Dosyası Seçenekleri'nde 'Komut Dosyası Girişleri'ni ayarladım, ancak çıktıda bunu alıyorum:

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

Bu girişleri parolalarla yazmanın basit bir yolu veya girişleri 2008R2 örneğinden 2014 örneğine aktarmak için başka bir yol var mı?


4
sqlsoldier.com/wp/sqlserver/… (yansıtma referanslarını göz ardı edin - bu, oturumlar arasında herhangi bir örnek taşımak için işe yarar ).
Aaron Bertrand

@ İlk bakışta çok güzel görünen Aaron, teşekkürler.
Jack diyor ki topanswers.xyz

1
@Aaron Ben temelde aynı şey bu kullanarak sona erdi . Beni doğru yöne yönlendirdiğiniz için teşekkürler.
Jack diyor ki topanswers.xyz

Yanıtlar:


8

Girişleri aktarmak için sp_help_revlogin komut dosyasını ve prosedürünü kullanmanız gerekir . Bu, girişleri aktarmanıza ve şifreyi örneğin bir başkasına tutmanıza olanak tanır.


Ben o sayfaya gittim ama açıkça anlamadım. Yöntem 3, "Boş bir parolası olan bir oturum açma komut dosyası oluşturun" diyor, muhtemelen öyle değil mi?
Jack diyor ki topanswers.xyz

1
@JackDouglas Bu ifadenin ne anlama geldiğinden emin değilsiniz, ancak kaynak sunucuda bu iki saklı yordamı oluşturmanız ve sonunda sp_help_revlogin'i yürütmeniz, çıktısını SSMS'den almanız ve yeni sunucuda yürütmeniz yeterlidir. Giriş bilgilerinizi doğru pwds ile yeniden oluşturacaksınız.
Marian

i SQL 2014 tarihinde bu test ancak işi yok olması, aynı yöntem de belirtilen sql 2012 tarihine kadar çalışır support.microsoft.com/kb/91899
Iman Abidi

Test ettim sp_help_revloginancak SQL 2014 SP1 CU1'de (12.0.4416) çalışmıyor. Bu KB makalesi , SQL Server 2012'ye kadar çalıştığını belirtiyor.
Iman Abidi

6

Herkesin bunu öğrenmesini bekleyemem:

https://dbatools.io/

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

Kısacası: dbatools Powershell betiklerini kurun.

Artık sadece SQL kullanıcılarını, şifreleri, izinleri vb. Kopyalayamayacak harika bir komut setiniz var; ayrıca veritabanlarını, işleri ve hatta tüm örnekleri kopyalamak için kapsamlı bir komut seti: D

Örnek kullanım:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

veya:

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

Şerefe!



0

Evet Powershell aracılığıyla çeşitli Modülleri kullanarak yapabilirsiniz:

1- DBATools'u Kullanma: Açık Powershell

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

<# Load the module#>

Import-module dbatools

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

2- SQLSERVER Modülünü Kullanma:

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

Yardıma ihtiyacınız olursa bana bildirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.