我试图使用数据库图表是 SQL Server 并得到以下错误:
Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.
我试图用这个命令来解决我的问题
ALTER AUTHORIZATION ON DATABASE::mydb TO "domain\username"
GO
但它没有帮助。当我将域帐户更改为sa
并运行时
ALTER AUTHORIZATION ON DATABASE::mydb TO sa
GO
我摆脱了这个错误。问题是,为什么数据库所有者不接受域帐户(似乎只有sa
andNT AUTHORITY\SYSTEM
是可以接受的)?
您不需要 sa 或其他系统管理员帐户来创建数据库图表,但我认为您可能需要这样做才能最初安装数据库图表支持。
如果您以 sa 身份执行此操作,那么您应该能够让 domain\username创建图表。大多数在线资源会告诉您,如果 domain\username 是数据库所有者,它应该可以工作,但是当您将登录名设置为数据库所有者并且他们还不是数据库中的用户时,会有细微的差别:它们被映射到特殊的 dbo 帐户。我似乎能够在 SQL Server 2012 中做到这一点,但我使用的是 SQL 帐户而不是域帐户。所以我不知道这是否是导致您的问题的原因,但我认为我提供了一个有效的解决方法。
域帐户可以是数据库所有者没问题:
通常,当我遇到此问题时,与您要在其中创建图表的数据库设置为兼容级别 80 的事实有关。这将不起作用。检查您的兼容性级别并将其至少设置为 90。这应该可以解决您的问题。
我希望这有帮助。