典型情况:我有一个SQL Server 2008或2012,包含许多SQL Server登录和数据库,我必须将一些数据库转移到另一个SQL Server。
问题是:处理相应SQL Server登录的最佳方法是什么?
说,我在SQL Server级别定义了一个名为MyUser的SQL Server登录,它具有某些权限,例如我的SQL Server数据库db_datareader
中的ABC
通过用户映射。
我目前正在做的事情如下:
备份ABC
数据库
将数据库还原到另一台SQL服务器。数据库在其安全设置中有MyUser
登录,但SQL Server级别没有此类SQL Server登录
现在,我需要在SQL Server级别创建相同的MyUser
登录名,并将其映射到现有的数据库登录名。当我这样做时,我收到错误"用户,群组或角色' MyUser'已存在于当前数据库中。"
处理此问题的唯一方法是从数据库中删除现有用户,然后在SQL Server级别创建它,然后将其映射到数据库,这将在数据库级别创建新登录。看起来像很繁琐的工作,特别是如果旧的数据库登录有很多与之相关的设置,现在必须重新创建。
有没有更好/更简单的方法来处理这件苦差事?