SQL Server 2005 出现“此数据库没有有效所有者”错误的解决方法
原因一:从SQL SERVER 2000中备份的数据库还原到SQL SERVER 2005
从SQL SERVER 2000中备份的数据库还原到SQL SERVER 2005上,打算新建一个数据库关系图,可是在Microsoft SQL Server Management Studio中一点数据库关系图的文件夹,就出现一个“此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先试用”数据库属性”对话框的”文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象”的提示按照他说的指定所有者,可惜还是不对,查了一下,应该执行如下语句:
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname=N’数据库名’, @new_cmptlevel=90
GO
因为2000备份的数据库还原到2005以后,兼容级别是80,更新成90就OK了
原因二:
当把从其它机器备份出来的数据库,还原到自己的机器上后,在SSMS中点击这个数据库的数据库关系图时,出现了以下提示:
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
数据库中确定是有数据库关系图的。提示给出了两种方法,第一种试了几次都不好用,第二种方法倒是一次成功,具体在SSMS中运行以下命令:
ALTER AUTHORIZATION ON database::mydbname TO sa
把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。