解决方法如下:
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
注意: 不推荐使用值 60 和 65,以后的版本中将删除这两个值。 注意: SQL Server Management Studio 和 SQL Server 管理对象 (SMO) 不支持兼容级别 60。如果将 SMO 或 Management Studio 用于兼容级别设置为 60 的数据库,则执行某些操作时会产生错误。
返回代码值
0(成功)或 1(失败)
结果集
如果未指定任何参数或未指定 name 参数,则 sp_dbcmptlevel 将返回错误。
如果指定 name 但未指定 version,则 SQL Server 2005 数据库引擎将返回一条消息,显示指定数据库的当前兼容级别。
备注
对于所有 SQL Server 2005 安装,默认的兼容级别都为 90。除非 model 数据库有更低的兼容级别,否则 SQL Server 2005 中创建的数据库会设置为该级别。在将数据库从 SQL Server 的任何早期版本升级到 SQL Server 2005 之后,该数据库将保留其现有的兼容级别。这既适用于系统数据库也适用于用户数据库。可使用 sp_dbcmptlevel 将数据库的兼容级别更改为 90。若要查看数据库的当前兼容级别,请查询 sys.databases 目录视图中的 compatibility_level 列。