SQL Server 数据库没有有效所有者的三种解决办法

问题:

   
开发的过程中,操作系统出了问题,决定重装系统。但是没有将SQL Server中的数据库文件分离出来,直接将系统格了。在新系统数据库中附加了数据库文件,一切还算正常,但当打开数据库关系图的时候出现了问题,如下图所示:

解决办法:(三种)

1、右键你的数据库名→属性→文件→所有者→sa;(该方法是从网上找到的,可能不成功)

2、设置兼容级别为90(2005为90,2000为80)

(1)代码:

USE [master]

GO

EXEC dbo.sp_dbcmptlevel @dbname=‘数据库名‘, @new_cmptlevel=90

GO

(2)捏鼠标

或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定。这时,在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建,选择“是”即可。

3、选择你的数据库,然后选择安全性→用户→选择dbo,打开属性页,如登录名为空的话,新建查询,然后

use [你的数据库名]

EXEC sp_changedbowner ‘sa‘

时间: 2024-10-15 02:54:19

SQL Server 数据库没有有效所有者的三种解决办法的相关文章

sql server 数据库忘记sa账户密码/ 无管理员账户解决办法

一.计算机超级管理员账户有数据库的管理员权限 用管理员账户登录数据库,直接修改sa账户密码即可. 二.数据库中没有管理员权限的账户 SQL Server 2005/2008提供了针对该情况的更好的灾难恢复方法,无需侵入master数据库,不会对master数据库中的对象和数据(例如登陆帐号,证书等)造成损坏.Windows管理员组的成员现在当SQL Server以单用户模式启动(另外一个名称为维护模式)的情况下对SQL Server有了访问权限. 通过使用单用户模式,SQL Server 200

SQL Server 2008 R2评估期已过的解决办法

某天打开SQL Server 2008 R2数据库,弹出如图一所示窗口. 图一 在网上查找了一些方法(链接1.链接2)结果都没有成功.这些方法都是通过图二的方式进入SQL2008配置工具中的安装中心. 图二 后面,我尝试着从安装程序进入SQL2008配置工具中的安装中心再进入维护界面,选择版本升级,如图三所示. 图三 检查升级规则,出现如图四所示的提示,重启计算机.此时安装提示重启计算机并重复上述操作即可.尽量不要只重启SQLServer服务 图四 在如图五中选择企业版并输入企业版序列号Ente

关于sql server 代理(已禁用代理xp)解决办法

关于sql server 代理(已禁用代理xp)解决办法 sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO sp_configure 'Agent XPs', 1; GO RECONFIGURE WITH OVERRIDE GO sp_configure 'show advanced options', 1;GORECONFIGURE WITH OVERRIDE; GOsp_configure 'A

复现一个典型的线上Spring Bean对象的线程安全问题(附三种解决办法)

问题复现 假设线上是一个典型的Spring Boot Web项目,某一块业务的处理逻辑为: 接受一个name字符串参数,然后将该值赋予给一个注入的bean对象,修改bean对象的name属性后再返回,期间我们用了 Thread.sleep(300) 来模拟线上的高耗时业务 代码如下: @RestController @RequestMapping("name") public class NameController { @Autowired private NameService n

SQL Server数据库查询速度慢的原因和解决方法

问 SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没

sql server 2012提示:评估期已过 的解决办法 附序列号

sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相应版本密钥. 第四步:按照默认一直点下一步,遇到升级按钮,点升级直到升级完毕. sql server 2012 版本序列号如下: MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28 MICROSOFT SQL SE

sql server 2012提示评估期已过的解决办法 附序列号

sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相应版本密钥. 第四步:按照默认一直点下一步,遇到升级按钮,点升级直到升级完毕. sql server 2012 版本序列号如下: MICROSOFT SQL SERVER 2012 标准版激活码序列号: YFC4R-BRRWB-TVP9Y-6WJQ9-MCJQ7 MICROSOFT SQL SERV

PHP中出现Notice: Undefined index的三种解决办法

前一段做的一个PHP程序在服务器运行正常,被别人拿到本机测试的时候总是出现“Notice: Undefined index:”这样的警告,这只是一个因为PHP版本不同而产生的警告(NOTICE或者WARNING),而非错误(ERROR).PHP中的变量在不声明的情况下使用的时候,PHP4运行正常,但是到了PHP5环境下就会出现上述的警告或者提示.经过搜索查询,总结出来以下三种解决Notice: Undefined index的方法. 第一种方法:修改PHP配置文件,屏蔽掉此类警告和提示 修改ph

关于sql server 2012日志变得超大的删除解决办法

首先说说,这个sql server机制其实挺严谨,他的原意是---如果你不做日志备份,就不给你删日志,然后也有脚本给你回收日志空间,算是挺安全也方便实用了. 看起来是挺合理的,但是碰到缺心眼的开发或使用者,日志一天天的胀大,而又忘记回收的话,那就悲催了,这个时候你就不可能备份了,因为硬盘空间不够用啊,不能备份也就不能删日志,就成了个死循环了. 我这边就遇到这种事,日志被撑到170G了,硬盘总共才200G空间,怎么搞好呢? 最后经过百度和google两位幕后大师傅的指点,得到了下面的方法,仅供参考