此数据库没有有效所有者,因此无法安装数据库关系图支持对象
(编辑:jimmy 日期: 2024/12/23 浏览:3 次 )
在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误:
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或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'
执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",
选择“是”即可。
此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或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'
执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",
选择“是”即可。
下一篇:MSSQL MySQL 数据库分页(存储过程)