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

2014-11-24 09:53:18 · 作者: · 浏览: 1

问题:

开发的过程中,操作系统出了问题,决定重装系统。但是没有将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'

\