`

异常:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。 (SQL2000转到2005)

阅读更多

某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误:

此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
按照第一种方式更改怎么也不行,并且文件的所有者也是sa。在csdn中找了半天,有个同志给出了第二种解法,使用ssms。具体在SSMS中运行以下命令:

ALTER AUTHORIZATION ON database::mydbname TO sa

把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。
经过一番努力也没找到ssms,哎。这个也泡汤了。心中有了重新格系统的想法。

想象一下格系统的麻烦,随后有百度。在一个论坛中发现了这样的解决办法:

解决方法如下:

 : m8 t; ~3 M/ v, M' N3 Y
1、设置兼容级别为90(2005为90)(2000为80)

USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90
GO

 

 

或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。(呵呵,我就是用这个方法解决的。呵呵,小小的高兴一下)5 n+ A2 r; G3 V' @2 Y( ?
' H- Z% H0 V/ q! ]- h" n" Y
这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。

 

2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续6 d# ~6 x W2 V
8 S/ N/ n3 | i' Y0 e0 X1 j
选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后

 

use [你的数据库名]
EXEC sp_changedbowner 'sa'

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

 

 

呵呵。费了很大劲才完成,呵呵。原因可能是,原来的数据库使用sql server2000创建的。把数据库附加到2005上后,解析不了了。

分享到:
评论

相关推荐

    此数据库没有有效所有者,因此无法安装数据库关系图支持对象

    当试图在新建或附加的数据库中添加关系表,或者安装数据库关系图支持对象时,如果遇到“此数据库没有有效所有者,因此无法安装数据库关系图支持对象”的错误,这通常意味着数据库所有者未设置或设置不正确,导致系统...

    SQL2005数据库无有效所有者解决方案

    在进行SQL Server 2000的数据库备份还原到SQL Server 2005的过程中,可能会遇到一个常见问题:当尝试使用“数据库关系图”功能时,系统会弹出错误提示:“此数据库没有有效所有者,因此无法安装数据库关系图支持对象...

    无法安装数据库关系图支持对象的解决方法

    sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句...

    解决SQL Server的“此数据库没有有效所有者”问题

    当数据库出现“此数据库没有有效所有者”的问题时,意味着当前数据库的拥有者无法被识别或者不存在,这可能导致无法执行某些特定操作,比如查看数据库关系图或设置权限。以下是如何解决这个问题的详细步骤: 1. **...

    解决SQL SERVER 2005 不能用数据库关系图的问题.

    但是,在某些情况下,用户可能会遇到“此数据库没有有效所有者,因此无法安装数据库关系图支持对象”的错误提示,从而无法使用数据库关系图功能。 解决这个问题的方法主要有两步:第一步是设置兼容级别为 90,这...

    sql2000批量修改所有者

    在SQL Server中,每个数据库对象(如表、视图、存储过程等)都有一个所有者,这个所有者决定了谁可以执行或修改该对象。默认情况下,当你创建一个新的对象时,所有者通常是当前登录的用户。但有时,为了管理和安全...

    SQL Server 2008 转换为 SQL 2005 数据库 脚本生成

    转换后的脚本有两种处理方式:一是直接在远程主机提供商的SQL Server 2005环境中执行此脚本,二是将脚本导入到新的SQL Server 2005数据库中。前者需要使用SQL Server身份验证(通常由主机提供商提供用户名和密码),...

    SQL Server2000数据库改名

    在实际应用中,数据库的名称可能需要根据不同的需求进行修改,例如更改数据库的所有者、修改数据库的逻辑文件名等。因此,数据库改名是一种常见的数据库管理操作。 知识点二:数据库改名的步骤 数据库改名可以分为...

    sqlserver2005示例数据库

    SQL Server 2005是一款由Microsoft开发的关系型数据库管理系统,它在企业级数据存储、管理和分析方面扮演着重要角色。"sqlserver2005示例数据库"这个压缩包包含的是SQL Server 2005的示例数据库,这些数据库通常用于...

    sqlserver 此数据库没有有效所有者错误的解决方法

    某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或Alter...

    sql server 2000中的用户数据库----pubs数据库

    SQL Server 2000是Microsoft推出的一款关系型数据库管理系统,它包含了一些预置的示例数据库,其中“pubs”就是其中之一。Pubs数据库是一个典型的小型数据库,主要用于教学和学习SQL Server的基础操作,包括数据查询...

    SQL2005数据库精简版

    SQL2005数据库精简版是微软推出的SQL Server 2005的一个简化版本,主要面向对数据库功能需求相对较小但又希望享受SQL Server稳定性和高效性的用户群体。这个版本通常包含了数据库引擎的核心服务,但可能去除了部分...

    sql 数据库

    - 如果数据库所有者无效,则无法安装数据库关系图支持对象。 - 若数据库之前被附加到其他 SQL Server 实例或通过其他实例还原,则可能无法安装支持对象。 #### 四、设置数据库所有者 为了安装数据库关系图支持...

    ADO连接sql2000数据库

    在给定的描述中,我们看到VC++(Visual C++)项目使用ADO来连接到SQL Server 2000数据库。以下是对该过程的详细说明: 1. **初始化ADO库**: 在`stdafx.h`文件中,通过#import指令引入MSADO15.DLL库,这个库包含了...

    SQL2005SSMSEE数据库管理器

    SQL2005SSMSEE,全称SQL Server Management Studio Express Edition,是微软推出的一款针对SQL Server 2005的轻量级数据库管理工具。它专为那些不需要完整功能集但仍然需要对SQL Server数据库进行管理和开发的用户...

    批量更改数据库表的所有者

    ### 批量更改数据库表的所有者 在数据库管理过程中,可能会遇到需要更改多个表所有者的情况。例如,在进行系统迁移、权限调整或是环境部署时,批量更改表的所有者能够极大地提高工作效率并减少出错的可能性。下面将...

    数据库原理与SQL Server2005应用教程

    数据库原理与SQL Server 2005应用教程是学习数据库管理和开发的重要参考资料,尤其适合初学者及希望深入了解SQL Server 2005的用户。本教程由一位经验丰富的数据库教授编写,旨在帮助读者掌握数据库的基本概念,理解...

Global site tag (gtag.js) - Google Analytics