【问题归属:在SQL-2000中创建的数据库文件 附加到 SQL-2005时遇到的问题】
在新建 “数据库关系图”提示无法操作,提示内容如下:

图一、新建“数据库关系图”提示
标题: Microsoft SQL Server Management Studio
------------------------------
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,
请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句
将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
------------------------------
现在要将数据库所有者设置为有效登录名,按照提示有两种方式:
①“数据库属性”对话框的“文件”的所有者进行手动更改为sa;
②使用脚本Sql语句: ALTER AUTHORIZATION ON database::mydbname TO sa (mydbname名修改为对应的数据库名称)
③使用系统存储过程修改数据库拥有着:use [你的数据库名] EXEC sp_changedbowner 'sa'
这三种方式都可以将数据库的所有者改为“sa”,但是修改实现后,新建“数据关系”依然无法成功,提示与之前的一样。
上网查询后,发现原来的数据库使用sql server2000创建的。把数据库附加到2005上后,解析不了了。关键是兼容级别问题,之前在使用SQL的一些语句的时候也出现过需要修改兼容级别后才能使用的情况。
在SQL-2000中建立的数据库的兼容级别是:80,
在SQL-2005中建立的数据库的兼容级别是:90;
所以关键就是修改数据库的兼容级别,同样可以:
①SQL语句修改【EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90】,
②或者直接在数据库属性--》选项选项卡下的兼容级别经行修改;
之后再点击建立“数据库关系图”提示
【此数据库缺少一个或多个使用数据库关系图所需的支持对象。是否要创建它们?】
点击确认便可正常建立。
在将SQL Server 2000的数据库附加到SQL Server 2005时,新建数据库关系图失败,提示数据库没有有效所有者。尝试通过更改数据库所有者为sa以及调整数据库兼容级别至90的方法解决问题。最终,通过修改兼容级别解决了新建数据库关系图的错误。
5090

被折叠的 条评论
为什么被折叠?



