安装了sql2008sp1,直接附加sql2005的数据库,发现打不开数据库关系图列表,提示:
“此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。”
网上找了找:
http://www.cnblogs.com/joedz/archive/2008/07/03/1234716.html
http://couldhll.wordpress.com.cn/2009/11/12/了解数据库关系图所有权(“此数据库没有有效所/
等等,千篇一律, 试验了第一种方法:
USE [master]GO EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90
GO
修改数据库的兼容级别,没有效果。不再试用第二种:
use [你的数据库名] EXEC sp_changedbowner 'sa'
因为我的sa账号是被停用了的。
仔细看看出错提示,然后右键点击数据库,选择属性,文件,发现所有者一栏是空的,于是加入这个数据库的使用用户,结果又报错,发生异常:
"Microsoft.SqlServer.Smo
推荐的新数据库所有者“xxx”已作为此数据库中的用户"xxx"进行了映射"
于是到该数据库中的“安全性”,中的“用户”,将这个用户删除,然后再进行上面的步骤,修改成功,功能正常。
最后不建议用户数据库使用sa进行连接,sa在某些场合是有administrator权限的。
希望本文能给您帮助!