zoukankan      html  css  js  c++  java
  • 数据库关系图”提示:此数据库没有有效所有者

    今天用sql2005时,无意间发现自己的关系视图竟然无法使用,查了些资料后,发现可以如下设置(转载):原文地址http://lyuewusheng.blog.163.com/blog/static/46064082200932592250393/

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

    sql2000备份的数据库还原到sql2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或   ALTER   AUTHORIZATION   语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。  

         

    解决方法如下:

    1、设置兼容级别为90(2005为90)  

    USE   [master]  

    GO  

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

    GO   

    或是选责你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定,

           这时,你在该数据库下展开“数据库关系图”节点时会有个提示,"此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。

    2、通过以上的方法操作,如果问题依然存在的话,按下列方法继续

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

    use [你的数据库名]

    EXEC    sp_changedbowner    'sa'  

    执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。

    3.通常前两步就可解决问题了,第三种方法使用ALTER命令来做。

    异常:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。当把从其它机器备份出来的数据库,还原到自己的机器上后,在SSMS中点击这个数据库的数据库关系图时,出现了以下提示:

    此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。

    数据库中确定是有数据库关系图的。提示给出了两种方法,第一种试了几次都不好用,第二种方法倒是一次成功,具体在SSMS中运行以下命令:

    ALTER AUTHORIZATION ON database::mydbname TO sa

    把mydbname修改为实际的数据库名称,就可以把所有者设置为sa了。

    关于ALTER AUTHORIZATION的详细参数,可以参考以下地址:

    http://msdn2.microsoft.com/zh-cn/library/ms187359.aspx

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    Centos7下rc.local文件开机不执行…
    Centos7添加密码安全策略
    Java8 时间日期类操作
    XML配置spring session jdbc实现session共享
    Spring Boot 2.x以后static下面的静态资源被拦截
    外观模式
    组合设计模式
    Java线程池源码解析
    观察者模式
    Java使用POI解析Excel表格
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2644828.html
Copyright © 2011-2022 走看看