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

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

 

希望本文能给您帮助! 

posted @   风海迷沙  阅读(3326)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示