web-dev-qa-db-ja.com

パスワードを使用して2008R2から2014にログインを転送するにはどうすればよいですか?

私はTasks> Generate Scripts...を試し、[スクリプトの詳細設定]オプションで[スクリプトログイン]を設定しましたが、出力では次のようになります。

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

これらのログインをパスワードでスクリプト化する簡単な方法、またはログインを2008R2インスタンスから2014インスタンスに転送する別の方法はありますか?

ログインを転送するには、 sp_help_revlogin スクリプトとプロシージャを使用する必要があります。これにより、ログインを転送し、インスタンス間でパスワードを保持できます。

8
Mike Fal

私は皆がこれについて学ぶのを待つことができません:

https://dbatools.io/

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

つまり、dbatools Powershellスクリプトをインストールします。

これで、SQLユーザー、パスワード、権限などをコピーできるだけでなく、一連のすばらしいコマンドが手に入りました。しかし、データベース、ジョブ、インスタンス全体をコピーするための包括的なコマンドセット:D

使用例:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

または:

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

乾杯!

6
CyDharttha

以前に回答したとおり、SQL 2014のsp_help_revloginスクリプトと手順を引き続き使用できます( SQL Serverのインスタンス間でログインとパスワードを転送する方法 )。ただし、手動で変更する必要があります(ハッシュ値変数の長さを拡大する)。

  • 256を置き換える-> 512
  • 514を置き換える-> 1028
  • 1024を置き換える-> 2048
1
miha

はい、さまざまなモジュールを使用してPowershellを介して実行できます。

1- DBAToolsの使用:Powershellを開く

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

<# Load the module#>

Import-module dbatools

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

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

手助けが必要な場合はお知らせください。

0
Kaawach Said