如何使用密码将登录名从 2008R2 转移到 2014?

Jac*_*las 12 sql-server sql-server-2008-r2 sql-server-2014

我已经尝试Tasks>Generate Scripts...并在高级脚本选项中设置了“脚本登录”,但我在输出中得到了这个:

/* For security reasons the login is created disabled and with a random password. */
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以使用密码对这些登录进行脚本编写,或者使用其他方法将登录从 2008R2 实例转移到 2014 实例?

Mik*_*Fal 8

为了传输登录信息,您需要使用sp_help_revlogin脚本和过程。这将允许您将登录名和密码从一个实例转移到另一个实例。


小智 6

我迫不及待地想让大家了解这个:

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
Run Code Online (Sandbox Code Playgroud)

或者:

Export-DbaLogin -SqlServer sql2005 -FileName C:\temp\sql2005-logins.sql
Run Code Online (Sandbox Code Playgroud)

干杯!