今天莫名其妙的遇到一个问题,还原了几个数据库到新的服务器上,突然发现sa用户对某几个数据库没有权限(用户映射):

sqlserver 2008 无法使用特殊主体‘sa’,错误15405-LMLPHP

我手工勾选相应数据库的db_owner权限之后,报错:无法使用特殊主体‘sa’,错误15405

sqlserver 2008 无法使用特殊主体‘sa’,错误15405-LMLPHP

虽然不明白是什么原因造成的这种情况,按道理说sa是超级用户,而且一起备份还原过来的几个数据库,为什么有的是好的有的出问题?不过还是找到了解决办法,也很简单,下面就贴出来,看到这篇文章的大虾如果知道原理麻烦给我留言解释一下哈,不胜感激的说。

sqlserver 2008 无法使用特殊主体‘sa’,错误15405-LMLPHP

解决办法:

对象资源管理器中找到相应数据库-->右键点属性-->点击文件,会发现文件的所有者是空的

sqlserver 2008 无法使用特殊主体‘sa’,错误15405-LMLPHP

是的,把这里文件的所有者设置为sa就可以了(前提是服务器的登陆方式为sqlserver和windows身份验证)

sqlserver 2008 无法使用特殊主体‘sa’,错误15405-LMLPHP

05-23 05:55