代码之家  ›  专栏  ›  技术社区  ›  Rob

无法安装数据库关系图支持对象

  •  11
  • Rob  · 技术社区  · 14 年前

    这很令人困惑。每当我尝试在SQL Server Management Studio Express(SQL Server 2008)中的数据库节点下添加(甚至查看)数据库关系图节点时,都会收到此错误:

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

    好的,很好。问题是,根据管理工作室的说法,我的登录名是数据库的所有者。当我登录到ManagementStudio时,我正在使用Windows身份验证,如果我转到“数据库属性”对话框的“文件”页,我的登录名就是所有者。

    接下来我想,好吧,也许我不是真正拥有者的服务器角色的成员,但是,我的登录名是 系统管理员 服务器角色,根据 this MDSN page 是拥有数据库的特权。

    所以最后我做了一些谷歌搜索,我明白了 people telling me 要尝试执行这样的语句:

    EXEC sp_dbcmptlevel 'yourDB', '90';
    go
    ALTER AUTHORIZATION ON DATABASE::yourDB TO "yourLogin"
    go
    use [yourDB]
    go
    EXECUTE AS USER = N'dbo' REVERT
    go
    

    我在这里的问题是,我不太明白这段代码在做什么,而且用上面的语句尝试不同的用户名或数据库名称(看起来执行成功)似乎也解决不了我的问题。

    有人能想到我可能会错过什么吗?

    3 回复  |  直到 6 年前
        1
  •  25
  •   Michael Goldshteyn    12 年前

        2
  •  2
  •   Girish Gupta    9 年前

    Alter AUTHORIZATION ON DATABASE::YourDbName TO [sa];
    
        3
  •  0
  •   Dardi    10 年前