sql 2005数据库升级到2008后,无法打开数据库关系图的正确解决方法

时间:2022-11-09 17:08:49

安装了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权限的。 

 

希望本文能给您帮助!