日斋
日新月异
 sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或   Alter   AUTHORIZATION   语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。

解决方法如下:

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'

执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。

 

注:

[ @new_cmptlevel = ] version

 

数据库要与之兼容的 SQL Server 的版本。version 的数据类型为 tinyint,默认值为 NULL。该值必须为下列值之一:

60 = SQL Server 6.0

65 = SQL Server 6.5

70 = SQL Server 7.0

80 = SQL Server 2000

90 = SQL Server 2005

数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法 - taizixuan - taizixuan的博客注意:
不推荐使用值 60 和 65,以后的版本中将删除这两个值。

 

 

数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法 - taizixuan - taizixuan的博客注意:
SQL Server Management Studio 和 SQL Server 管理对象 (SMO) 不支持兼容级别 60。如果将 SMO 或 Management Studio 用于兼容级别设置为 60 的数据库,则执行某些操作时会产生错误。

 

 

 

数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法 - taizixuan - taizixuan的博客 返回代码值

0(成功)或 1(失败)

数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法 - taizixuan - taizixuan的博客 结果集

如果未指定任何参数或未指定 name 参数,则 sp_dbcmptlevel 将返回错误。

如果指定 name 但未指定 version,则 SQL Server 2005 数据库引擎将返回一条消息,显示指定数据库的当前兼容级别。

数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法 - taizixuan - taizixuan的博客 备注

对于所有 SQL Server 2005 安装,默认的兼容级别都为 90。除非 model 数据库有更低的兼容级别,否则 SQL Server 2005 中创建的数据库会设置为该级别。在将数据库从 SQL Server 的任何早期版本升级到 SQL Server 2005 之后,该数据库将保留其现有的兼容级别。这既适用于系统数据库也适用于用户数据库。可使用 sp_dbcmptlevel 将数据库的兼容级别更改为 90。若要查看数据库的当前兼容级别,请查询 sys.databases 目录视图中的 compatibility_level 列。

posted on 2010-11-28 18:39  李承隆  阅读(1037)  评论(1编辑  收藏  举报