私はTasks
> Generate Scripts...
を試し、[スクリプトの詳細設定]オプションで[スクリプトログイン]を設定しましたが、出力では次のようになります。
/* For security reasons the login is created disabled and with a random password. */
これらのログインをパスワードでスクリプト化する簡単な方法、またはログインを2008R2インスタンスから2014インスタンスに転送する別の方法はありますか?
ログインを転送するには、 sp_help_revlogin スクリプトとプロシージャを使用する必要があります。これにより、ログインを転送し、インスタンス間でパスワードを保持できます。
私は皆がこれについて学ぶのを待つことができません:
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
乾杯!
以前に回答したとおり、SQL 2014のsp_help_revloginスクリプトと手順を引き続き使用できます( SQL Serverのインスタンス間でログインとパスワードを転送する方法 )。ただし、手動で変更する必要があります(ハッシュ値変数の長さを拡大する)。
はい、さまざまなモジュールを使用して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.#>
手助けが必要な場合はお知らせください。