没人能回答么???
应该不是很难吧??
我对SQL SERVER不是太熟的。
MASTER里的存储过程我都不知道是干啥用的。

解决方案 »

  1.   

    用sp_dropuser在新数据库中把原来数据库中导过来的用户删除,然后再添加,使用enterprise manager
      

  2.   

    我以前的库都是用那个用户建的阿。
    用 enterprise manager 删除他会提示说,这个用户下还有对象存在,不让删。
    用存储过程就可以不管这些了吗?
      

  3.   

    存储过程正是针对enterprise manager的bug的,在导数据库时常会出现这个问题,你试一下
      

  4.   

    库A恢复(Restore/sp_attach...)到另一个服务器中,一般会出现这个问题,其原因:
    如果一个Server的Login被授权访问一个DB时,在该DB中的sysusers表中建立指定的user。这个user将随DB转移到新的Server中。如果需要在新Server中的这个DB中使用原来的user,却因为“user已经存在”而被拒绝。这时DB中的这个user已经没有办法(我没有找到办法)使用,应该用sp_dropuser删除它。如果该user拥有对象,应该用sp_changeopjectowner改变对象的拥有者。
      

  5.   

    如果你在DB对user进行了复杂的权限管理,备份/恢复后可能需要删除user, 分配的权限也随之丢失。这种情况下,应该在DB中建立Role,权限分配给Role。以后的备份/恢复不会因为user作废而需要再次进行麻烦的权限分配 - 只需要将user加入role即可。
      

  6.   

    那时不是说,今后在attach数据库时,先将database的user先行删除?