数据库无法创建数据关系图解决方案总结

错误一 :

在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误:

sqlserver <wbr>2005 <wbr>数据库关系图无法创建


此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER
AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
按照第一种方式更改怎么也不行,并且文件的所有者也是sa。网友给出了一种方法,运行以下命令:
ALTER AUTHORIZATION ON database::mydbname TO sa
把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。
还有另外一种解决方法:
1、设置兼容级别为90(2005为90)(2000为80)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90
GO
或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。

这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,

是否创建",选择“是”即可。
2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续
选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后
use [你的数据库名]
EXEC sp_changedbowner 'sa'
执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",

选择“是”即可。

错误2:

新建数据库关系图时首先弹出错误对话框


点击确定后会继续出现

解决方案:。

根据他们的经验,下面的方法已经确认是无效的:

重装 SQL2008 (我想包括了修复)
重装 .net framework 3.5
重装VS2010和VS2010 SP1
他们并没有讨论出个所以然来。如果非说他们有进度的话,那就是其中的一个哥们儿选择了『重装系统』来一了百了……

具体查找原因的过程略……其实就是用Process Monitor观察创建关系图时的加载操作,看看哪些是失败的,说出来又是巴拉巴拉一堆流水账,不说也罢。最终找到的原因是:找不到 msvcr11.dll 。

明眼人一看就知道这是 VS2011 中的附带的VC运行时,但为什么卸载VS2011后SQL Server 2008R2 还需要它,这个问题也许只有微软能解释了。(说不定是VS2011更新了SQL2008 R2也使用的共享组件?)

既然知道原因了,那就很简单了。在VS2011 Developer Preview的安装包中找到“packagesvcRuntimeMinimum_x86vcRuntimeMinimum_x86.msi”安装一下就行了。64位系统说不定把“packagesvcRuntimeMinimum_amd64vcRuntimeMinimum_amd64.msi”也装一下更好一点。这样说来,回想起来我卸载VS2011的时候是把附带的组件想当然地觉得也是不需要的所以给一并删除了。看来删除有风险删除需谨慎啊,有些东西真的不是你想删,想删就能删的。


参考 : http://xue.uplook.cn/database/sqlserver/1784.html



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值