今天遇到一个案例:右键单击数据库的属性时出现下面错误提示:
属性Owner不可用于数据库xxx,该对象可能没有此属性,也可能是访问权限不足而无法检索。
使用脚本查看该数据库的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