首页 > 代码库 > SQL Server 数据库没有有效所有者的三种解决办法

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‘ 



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