我已经使用Get-MSSQLLinkPasswords
Powershell 脚本很长时间了,它帮了我大忙。该脚本解密特定 Windows 服务器上所有链接服务器的密码,并以纯文本形式显示给您。此功能甚至已合并到dbatools Copy-SqlLinkedServer
脚本中。
运行脚本有安全警告,如下所示
该脚本必须在 MSSQL 服务器上本地运行(因为 DPAPI 需要访问本地计算机密钥)。执行脚本的用户还必须拥有对所有数据库实例的系统管理员访问权限(用于 DAC 连接)和 Windows 服务器上的本地管理员权限(用于访问注册表中的熵字节)。此外,如果启用了 UAC,则必须以管理员身份运行脚本。
在最近升级到 SQL Server 2016 之前,此脚本一直运行良好。我想知道是否有其他人在 SQL Server 2016 下遇到过此脚本的任何问题。也许 SQL Server 2016 中的某些安全模型已更改并且此脚本无法解密密码现在。
如果时间允许,我会尝试看看这个dbatools Copy-SqlLinkedServer
脚本在 2016 年是否仍然有效。
我测试了 dbatools的Copy-SqlLinkedServer从 SQL Server 2016 到 SQL Server 2016 和 SQL Server 2014 到 SQL Server 2016。
所有链接服务器及其各自的登录名均已成功迁移。
我检查了两个权限并确保使用了相同的登录名。您要从哪些版本迁移?你得到什么错误?
(我是 dbatools 的创建者)。