还原已还原的数据库SQL Server 2012上的数据库权限

时间:2014-06-24 11:40:57

标签: sql database sql-server-2012 database-restore database-security

我们正在SQL Server 2012数据库服务器上还原SQL Server 2008备份数据库。恢复顺利,文件已创建且数据库已联机。

但遗憾的是,除了阅读之外,我们对数据库没有任何权利。 在过去,如果我记得正确,我们可以从已恢复的数据库中删除角色/模式,从而恢复对数据库的其他权限。遗憾的是现在不行......

任何人都可以帮助我们或指向我们可以将安全性设置回已恢复数据库的网站吗?

1 个答案:

答案 0 :(得分:0)

我在恢复到不同版本的sql server时没有尝试过这个,但听起来好像你有孤儿用户和/或缺少用户。

Troubleshoot Orphaned Users (SQL Server)

注意:我在主数据库中的动态sp中执行此操作,该数据库遍历所有dbs我还原并修复新开发环境的用户连接。

我所做的步骤是

  1. EXEC [@dbname] .dbo.sp_change_users_login'报告' - 查找孤儿
  2. EXEC [@dbname] .dbo.sp_change_users_login' AUTO_FIX',@ UserName - 修复孤立实例
  3. 如果报告返回实例没有的用户,我也会创建用户。这仅适用于开发环境,因此我会相应地调整它。

    1. 创建登录@UserName WITH Password =' @ Password',CHECK_POLICY = OFF - 创建缺少的用户
    2. EXEC [@dbname] .dbo.sp_change_users_login' AUTO_FIX',' @ UserName',NULL,' @ Password' - 将孤立修复为刚刚创建的用户。
    3. 我希望这适合你的情况。