将数据库用户还原到 SQL Server 2008 上的服务器登录名

son*_*tek 2 sql-server tsql sql-server-2008

我们有一个数据库备份,我们需要在没有数据库登录名的服务器上恢复......所有用户都在数据库中,所以我们希望我们可以通过这种方式恢复它?

我玩过 sp_change_users_login 但它只适用于创建新用户或将孤立的数据库用户链接到现有服务器用户(SID 不匹配但用户名相同)。

我需要从存储在数据库中的用户信息创建服务器登录。

Jas*_*and 5

如果您的目标是使用相同的密码重新创建登录,那么您就是 SOL,这仅存储在 master 数据库的表/视图中。如果旧实例仍然存在,Brian 的建议将起作用,但如果没有,则您需要执行以下选项之一。

  • 重新创建登录
  • 使用 sp_change_users_login 将数据库用户映射到新登录

或者

  • 创建新登录
  • 在恢复的数据库中为该登录分配权限

请注意,这仅适用于 SQL 登录,如果您使用的是 Active Directory 登录,那么您需要做的就是将它们添加回服务器,它们将自动在恢复的数据库中拥有权限,因为密码和 SID 存储在 AD 中而不是在实例的主数据库中。