解决VS2005中数据库关系图无法打开的问题
今天在家打开一个在学校做的项目时,发现使用自带SqlExpress创建的数据库中的数据库关系图无法打开。以前也遇到过这种情况,提示是没有dbo权限,并询问:“是否要成为该数据库的dbo?“一般都是选择”是“,这样数据库关系图就可以打开了。但是今天在家的时候,选择了是。确提示了一个错误。自己尝试了一下没有解决。于是上网搜了一下,终于解决了。
搜到的文章中说:
但是我从sys.databases表中查到,我的数据库的兼容级别已经为90了。于是执行第二步。由于我使用的是attach file的方式。所以数据库的名字采用的默认。在sys.databases中看到,叫作:“F:\北大青鸟\临时的,做作业用\网站权限\WEB\APP_DATA\WEBDB.MDF”,也就是数据库的路径。
于是执行
use "F:\北大青鸟\临时的,做作业用\网站权限\WEB\APP_DATA\WEBDB.MDF"
EXEC sp_changedbowner 'sa'
查询分析器提示有数据库名有语法错误,但是执行结果是成功的。执行后,果然顺利的打开了数据库关系图文件夹。可以查看数据库关系图了
搜到的文章中说:
解决方法如下:
1、设置兼容级别为90(2005为90)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90
GO
或是选责你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。
这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。
2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续
选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后
use [你的数据库名]
EXEC sp_changedbowner 'sa'
执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。
1、设置兼容级别为90(2005为90)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90
GO
或是选责你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。
这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。
2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续
选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后
use [你的数据库名]
EXEC sp_changedbowner 'sa'
执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。
但是我从sys.databases表中查到,我的数据库的兼容级别已经为90了。于是执行第二步。由于我使用的是attach file的方式。所以数据库的名字采用的默认。在sys.databases中看到,叫作:“F:\北大青鸟\临时的,做作业用\网站权限\WEB\APP_DATA\WEBDB.MDF”,也就是数据库的路径。
于是执行
use "F:\北大青鸟\临时的,做作业用\网站权限\WEB\APP_DATA\WEBDB.MDF"
EXEC sp_changedbowner 'sa'
查询分析器提示有数据库名有语法错误,但是执行结果是成功的。执行后,果然顺利的打开了数据库关系图文件夹。可以查看数据库关系图了
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!