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

某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误:
  此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或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
  [这条命令执行完毕:报“DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系”,不管它哦,接下来点击“数据库关系图”,报“此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建”,选择“是”,问题解决了]
  或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。(呵呵,我就是用这个方法解决的。呵呵,小小的高兴一下)
  这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。
  2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续
  选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后
  use [你的数据库名]
  EXEC sp_changedbowner 'sa'
  执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。
  呵呵。费了很大劲才完成,呵呵。原因可能是,原来的数据库使用sql server2000创建的。把数据库附加到2005上后,解析不了了。

时间: 2024-09-14 10:57:46

sqlserver 此数据库没有有效所有者错误的解决方法_MsSql的相关文章

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

某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用"数据库属性"对话框的"文件"页或Alter AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象. 按照第一种方式更改怎么也不行,并且文件的所有者也是sa.在csdn中找了半天,有个同志给出了第二种解法,使用ssms.具体在SSMS中运行以下命令: Alter AU

SQL Server 2000“设备激活错误”的解决方法_MsSql

数据库中对数据的操作是一大重要技能,其中,数据的恢复和还原也是常做的事.不知你是否在数据库恢复时遇到诸如"设备激活错误,请使用with move选项来标志该文件的有效位置"的错误信息提示?不知你在还遇到这样的情况:还原数据库时, 发现在企业管理器中,操作:所有任务-->还原数据库-->选择"从设备"还原,找到备份文档路径,强制还原.报错:设备激活错误,请使用with move选项来标志该文件的有效位置.本文将为你讲解出现这个错误应如何解决. 解决方法:右

win2003安装sqlserver 2000提示无法验证产品密钥的解决方法_MsSql

症状 在 Service Pack 4 (SP 4) 运行 Microsoft Windows Server 2003. Microsoft Windows Storage Server 2003 或 Microsoft Windows 2000 在服务器上, 您尝试安装 Microsoft SQL Server 2000 通过卷许可协议 (VLA) 媒体. 执行此操作时,会出现以下错误信息 SQL Server 安装向导的 CD KEY 页上: 无法验证产品密钥 解决方案 警告 如果您修改注册

SQL Server数据库复制失败的原因及解决方法_MsSql

在SQL Server数据库操作中,对数据库复制时出现了以下的错误,错误信息如下图所示: SQL Server数据库复制失败的原因及解决方案 出现上面的提示信息,会是什么原因导致的呢?笔者经过一番推敲终于找到了上述的原因. 原因:在复制数据库时,必须先停止mssqlserver服务,然后才能复制. 解决方法: 开始-->运行-->services.msc打开服务管理器,找到mssqlserver服务,然后停止该服务. 或者 开始-->运行-->cmd-->net stop m

远程连接局域网内的sql server 无法连接 错误与解决方法_MsSql

第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多 .一般说来,有以下几种可能性: 1.SQL Server名称或IP地址拼写有误: 2.服务器端网络配置有误: 3.客户端网络配置有误. 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. 首先,检查网络物理连接: ping <服务器IP地址> 或者 ping <服务器名称> 如果 ping <服务器IP地址> 失败,说

卸载VS2011 Developer Preview后Sql Server2008 R2建立数据库关系图报“找不到指定的模块”错误的解决方法_MsSql

可怜我的C盘本来只有8.XG,所以不得不卸载掉它. 卸载掉本身没啥问题,只是昨晚突然发现 Sql Server 2008 R2 Management Studio 突然不能新建数据库关系图了,一建立就会报"找不到指定的模块(MS Visual Database Tools)"的错误: 为了这个错误我甚至认真评估了重新配置数据库的可能性.无奈这个R2的SQL2008打过SP1了,无论是修复还是重装都是很花时间的事情,所以不甘心,在Google上找了一圈.终于找到个类似的主题反应了这个问题

SQLServer 2008 :error 40出现连接错误的解决方法_mssql2008

(provide:命名管道提供程序,error:40 -无法打开到SQL Server的连接)(Microsoft SQL Server,错误:2) 有几次连接数据库,打开SQLServer 2008的时候弹出这样的窗口,一开始不知道怎么做,后来才知道 可以通过 打开 配置工具的 SQLServer配置管理器 点击 SQLServer 服务 设置如图: 如果还有其他情况,可以设置配置中的客户端协议如下图:

sp_executesql 使用复杂的Unicode 表达式错误的解决方法_MsSql

Msg 102, Level 15, State 1, Line 3 Incorrect syntax near '+'. 当你尝试执行下面这段代码时,会得到如上这个错误提示. 复制代码 代码如下: DECLARE @MyName NVARCHAR(100) DECLARE @FieldName SYSNAME = N'Name' EXECUTE sp_executesql N'SELECT TOP 1 @OutputName = ['+ @FieldName +'] FROM [dbo].[M

sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法

sql2005|备份|对象|解决|数据|数据库  sql2000备份的数据库还原到sql2005后,选择"数据库关系图"提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用"数据库属性"对话框的"文件"页或  ALTER  AUTHORIZATION  语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象.       解决方法如下: 1.设置兼容级别为90(2005为90)  USE  [maste