私は Get-MSSQLLinkPasswords
Powershellスクリプトは長い間使用されており、非常に役立ちました。スクリプトは、特定のWindowsサーバー上のすべてのリンクされたサーバーのパスワードを復号化し、プレーンテキストで表示します。この機能は dbatools Copy-SqlLinkedServer
スクリプト。
ここに示すように、スクリプトを実行するためのセキュリティ上の警告があります
スクリプトはMSSQLサーバー上でローカルに実行する必要があります(DPAPIはローカルマシンキーへのアクセスを必要とするため)。スクリプトを実行するユーザーは、すべてのデータベースインスタンスへのsysadminアクセス(DAC接続用)とWindowsサーバー上のローカル管理者権限(レジストリ内のエントロピーバイトにアクセスするため)も持っている必要があります。さらに、UACが有効になっている場合は、スクリプトを管理者として実行する必要があります。
このスクリプトは、SQL Server 2016に最近アップグレードするまで問題なく機能していました。SQLServer2016でこのスクリプトに問題が発生した人はいないかと思いました。おそらく、SQL Server 2016でセキュリティモデルが変更され、このスクリプトでパスワードを復号化できません。今。
時間の許す限り、私はdbatools Copy-SqlLinkedServer
スクリプトは2016年でも機能します。
テストしました dbatools ' Copy-SqlLinkedServer SQL Server2016からSQLServer 2016、およびSQL Server2014からSQLServer2016へ。
リンクされたすべてのサーバーとそれぞれのログインが正常に移行されました。
両方の権限を確認し、同じログインが使用されていることを確認しました。どのバージョンから移行しますか?どのようなエラーが発生しますか?
(私はdbatoolsの作成者です)。