代码改变世界

SQL SERVER 属性OWNER不可用于数据库xxx。该对象可能没有此属性,也可能是访问权限不足而无法检索。

2015-10-30 21:21  潇湘隐者  阅读(5400)  评论(0编辑  收藏  举报

    今天遇到一个案例:右键单击数据库的属性时出现下面错误提示:

        属性Owner不可用于数据库xxx,该对象可能没有此属性,也可能是访问权限不足而无法检索。

clipboard

   使用脚本查看该数据库的Owner时发现Owner为null。具体原因是因为该数据库的Owner是一个系统管理员的账号,由于该同事离职,接手的系统管理员将该账号清除了,所以出现上面错误.此时用下面脚本查询,就会发现该Owner为null值。

SELECT  d.name ,
        owner_sid ,
        l.name
FROM    sys.databases d
        LEFT JOIN sys.syslogins l ON l.sid = d.owner_sid
WHERE d.name='DataBaseName';

只需要将数据库的Owner改为sa或其他sysadmin角色的账号即可.

USE DataBaseName;
GO         
EXEC sp_changedbowner 'sa';
GO