以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  数据库系统原理课件  (http://www.njcie.com/bbs/list.asp?boardid=19)
----  SQL Server 2005 出现“此数据库没有有效所有者”错误的解决方法  (http://www.njcie.com/bbs/dispbbs.asp?boardid=19&id=797)

--  作者:admin
--  发布时间:2009/9/29 9:34:24
--  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=\'数据库名\', @new_cmptlevel=90
GO

因为2000备份的数据库还原到2005以后,兼容级别是80,更新成90就OK了

原因二:
当把从其它机器备份出来的数据库,还原到自己的机器上后,在SSMS中点击这个数据库的数据库关系图时,出现了以下提示:
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
数据库中确定是有数据库关系图的。提示给出了两种方法,第一种试了几次都不好用,第二种方法倒是一次成功,具体在SSMS中运行以下命令:
ALTER AUTHORIZATION ON database::mydbname TO sa

把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。

[此贴子已经被作者于2010-12-11 20:08:58编辑过]