2010-04-23 119 views
2

我有一个SQL Server 2008,它是的一部分。现在我创建此服务器的数据库的一个备份,并在不属于域的SQL Server上恢复它。 我有一个C#应用程序,它使用此数据库。在非域机现在我得到这样的例外:恢复SQL Server备份的问题

“无法执行作为数据库prinzipal因为principial‘DBO’不存在,这种类型的主体不能是impersonatedm或者你不没有许可”

我认为,问题是,该数据库所有者域用户和该用户没有在目标机(备份机)上存在!?我该如何解决这个问题?

回答

1

MS SQL服务器遵循2层用户系统。 您必须确保您的登录名是SQL Server(这指的是SQL Server本身不是到实际数据库)的实际登录名。

你会发现在Management Studio中下的SQL Server用户: 服务器根目录 - >安全 - 登录

后您确保您的登录,请你把它映射到用户/模式。为了待办事项,所以你必须:

  1. 选择SQL Server用户要映射
  2. 用户右击
  3. 选择性能
  4. 切换到用户映射选项卡
  5. 选择数据库你想创建一个映射
  6. 选择数据库你想要关联当前选择的用户SQL Server用户
  7. 完成