很长一段时间以来,我一直在使用sp_help_revlogin将服务器主体从一个 SQL 实例转移到另一个 SQL 实例。
是否有sp_help_revlogin等效项可以输出为部分包含的数据库用户创建脚本?我知道如果我备份/恢复包含的用户,但我需要将用户从一个包含的数据库部署到另一个不同的包含的数据库。
很长一段时间以来,我一直在使用sp_help_revlogin将服务器主体从一个 SQL 实例转移到另一个 SQL 实例。
是否有sp_help_revlogin等效项可以输出为部分包含的数据库用户创建脚本?我知道如果我备份/恢复包含的用户,但我需要将用户从一个包含的数据库部署到另一个不同的包含的数据库。
虽然大卫是对的,但如果您备份/恢复到另一个位置(这就是重点),包含的用户将自动与包含的数据库一起出现,我可以看到一些用例,例如在一组中创建相同的包含用户数据库,具有相同的密码,而无需知道(或更改)密码。或者将在开发/QA/测试/登台环境中创建的相同用户部署到数据库的生产副本,而不移动数据库。
如果您知道(或可以更改)密码,当然,编写数据库中所有包含的用户的脚本非常简单,只需获取此输出并替换
whatever
为每个包含的用户所需的密码:但是,如果要求是您不知道密码,那就有点复杂了。主要基于Argenis Fernandez 的这篇文章(目前不是很活泼):
bob
。运行以下命令:
连接到目标包含的数据库(不再需要 DAC),从服务器级登录创建用户,将该用户迁移到包含的用户,然后删除登录:
我刚刚在我的机器上对此进行了测试,并且能够使用相同的用户名和密码显式登录到两个数据库,但是即使我在整个过程中碰巧不知道他们的密码,用户也可以这样做。