加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在SQL Server中,如何为现有用户创建登录?

发布时间:2020-12-12 16:55:20 所属栏目:MsSql教程 来源:网络整理
导读:我将数据库从一个SQL Server实例还原到另一个SQL Server实例.数据库已经添加了用户.但是他们没有新的SQL Server实例的Login. 我知道如何为新用户创建新登录,但如何为现有用户创建登录? 解决方法 问题是恢复会从原始服务器实例中恢复数据库用户,但新实例通常
我将数据库从一个SQL Server实例还原到另一个SQL Server实例.数据库已经添加了用户.但是他们没有新的SQL Server实例的Login.

我知道如何为新用户创建新登录,但如何为现有用户创建登录?

解决方法

问题是恢复会从原始服务器实例中恢复数据库用户,但新实例通常不知道这些用户登录.您将在db级别的Security下看到它们,但它们没有相应的服务器级别登录.

您需要在还原数据库的实例上使用服务器登录重新附加数据库用户.

有几种方法可以解决它:

>在新实例上为它们创建新登录.然后,您必须将它们作为新实例上的数据库用户删除,并添加其新登录名.这看起来很奇怪,因为您可以创建相同的登录名,但SID(安全标识符)将不同,这就是SQL用于用户标识的内容.这对于一次或两次登录来说非常简单.
>如果要在实例之间保持相同的用户,保持相同的SID,则使用sp_help_revlogin存储过程.复制链接中的代码,该链接将创建必要的存储过程并在要从中复制用户的服务器上运行它.它将生成一个SQL脚本,您可以在目标服务器上运行该脚本,以创建携带SID,密码和所有内容的相同用户.如果您需要在目标实例上重新连接大量数据库用户,或者您不知道源实例上的一个或多个SQL登录的密码,则可以采用此方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读