此数据库没有有效所有者“的解决,我很受用

之前用数据库创建关系图,结果报了这个错误。然后搜索之。

转自http://www.cnblogs.com/muer/archive/2010/04/14/1711778.html

此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或Alter
AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。 
  按照第一种方式更改怎么也不行,并且文件的所有者也是sa。在csdn中找了半天,有个同志给出了第二种解法,使用ssms。具体在SSMS中运行以下命令: 
  Alter AUTHORIZATION ON database::mydbname TO
sa 
  把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。 
  经过一番努力也没找到ssms[呵呵,我在新建查询里执行成功,但没解决问题],哎。这个也泡汤了。心中有了重新格系统的想法。 
  想象一下格系统的麻烦,随后有百度。在一个论坛中发现了这样的解决办法: 
  解决方法如下: 
  1、设置兼容级别为90(2005为90)(2000为80) 
  use master 
  GO 
  EXEC dbo.sp_dbcmptlevel @dbname=‘数据库名‘,
@new_cmptlevel=90 
  GO

  之前运行这段代码会报错,原因是 use master
可能是用了中文,我自己敲打一遍,通过。
  [这条命令执行完毕:报“DBCC 执行完毕。如果 DBCC
输出了错误信息,请与系统管理员联系”,不管它哦,接下来点击“数据库关系图”,报“此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建”,选择“是”,问题解决了] 
  或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90)
然后确定。(呵呵,我就是用这个方法解决的。呵呵,小小的高兴一下) 
  这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 
  2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续 
  选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后 
  use [你的数据库名] 
  EXEC
sp_changedbowner ‘sa‘ 
  执行成功后,你再选择"数据库关系图"节点,时提示
“此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。

如果执行代码不通过,那可能是编码问题,自行敲打便可通过。

时间: 2024-10-07 21:34:13

此数据库没有有效所有者“的解决,我很受用的相关文章

Sql Server 出现此数据库没有有效所有者问题

在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象. 按照第一种方式更改怎么也不行,并且文件的所有者也是sa.网友给出了一种方法,运行以下命令: ALTER AUTHORIZATION ON database::mydbname TO sa 把mydbname修改为实际

MySQL数据库ab主从复制出错及解决过程

MySQL数据库ab主从复制出错及解决过程 一.mysql主从服务器报错描述:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0 mysql slave stop ; mysql slave start; mysql show slave status ; 如果Slave_IO_Running=YES ...解决过程 :1 如果:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0m

MySQL数据库错误server_errno=2013的解决

MySQL数据库错误server_errno=2013的解决 一组MySQL复制环境中的Master意外掉电,重启后Master运行正常,但该复制环境中的其它slave端,Error Log中却抛出的如下错误信息: Version: '5.6.17-log' socket: '' port: 3306 MySQL Community Server (GPL) 2014-09-26 18:30:19 5940 [Warning] Slave SQL: If a crash happens this

数据库之-------Mysql(JDBC实现&解决存储乱码问题)

数据库之-------Mysql(JDBC实现&解决存储乱码问题) 1.乱码问题的解决很简单啦! 首先在建立数据库的时候要指定字符集为utf-8,然后再进行JDBC编程的时候,在下面代码的url后面加上参数characterEncoding即可!更多关于url参数的设置可以查看mysql官网文档: http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html 2.My

关于php读mysql数据库时出现乱码的解决方法

关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( id int not null auto_increment, title varchar(20) not null, primary key ('id') )DEFAULT CHARSET =UTF8; 复制代码 2. mysql的字符集 mysql中有三个重要的变量,character_set_

通过assets像安卓程序目录中导入数据库文件出现错误的解决办法

错误提示如下,下面的错误信息 08-13 07:36:31.396: W/System.err(9814): java.io.IOException 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetManager.readAsset(Native Method) 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetMana

C# 使用Linq递归查询数据库遇到的问题及解决方法

User表通常是我们在写"XX管理系统"项目时必须要用到的,有的情况下人员的分类属于树形结构,就是除了最高层和最低层,中间层都有相对的父和子,设计数据库的时候,我们通常会加一个parent_id这样的字段.这样我们就可以通过当前用户的user_id查询出他的直接下属有哪些,或者通过parent_id查询出他的直接上司是谁. 但是当我们想通过user_id去查询出其所有下属的时候,就不是能用一条简单的sql能实现的了.如果项目要是.Net Framework3.5以下的,就是没有Linq

Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法

使用了Amazon AWS EC2免费云空间,数据库实例采用Amazon RDS.原来在Windows Server上有一个存在大量数据的MySQL数据库.现在需要在Amazon RDS上还原这个MySQL数据库,勾掉Views(因为它会要求SUPER权限,而Master User无此权限,毕竟是托管的RDS),只留下Tables,如下图(使用Navicat): 图1:勾掉Views,因为RDS上的Masteruser无Super权限,无法还原Views对象 但在还原时,仍然出现如下的错误信息:

Oracle11g数据库导入到oracle10g的解决方法

我想有很多人在工作和学习中遇到这样的一个问题,Oracle数据库服务器版本和本机版本不一致问题,你的本机要是比服务器的版本要高的话还好,如果你本机是10g服务器是11g的话,从11g导出来的数据库是导入不了的.会报一个头部文件验证失败! 解决该问题很简单,从网上下载一个UE编辑器绿色版的,然后把数据文件(.dmp)文件用UE打开然后把版本修改一下即可. 希望能给大家带来帮助! 文章原文来自:腰苏图的个人网站 Oracle11g数据库导入到oracle10g的解决方法