首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法安装数据库关系图支持对象...没有有效的所有者

无法安装数据库关系图支持对象...没有有效的所有者
EN

Stack Overflow用户
提问于 2010-01-12 01:00:30
回答 14查看 176.7K关注 0票数 135

我尝试使用SQL Server 2008创建数据库图,但出现错误:

无法安装

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

然后我尝试了以下方法:

代码语言:javascript
复制
EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

下一个错误弹出:

消息15404,级别16,状态11,第1行无法获取有关Windows NT组/用户‘WIN-NDKPHUPPNFL\管理员’的信息,错误代码0x534。

问题是PC的名称已更改为"DevPC“我也在更新脚本中更改了此名称,但仍然是相同的错误15404。

我能做些什么来修复这个恼人的错误?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2010-01-12 01:50:08

您应该考虑数据库所有权的SQL身份验证帐户;这样您就不必担心帐户来来去去、数据库或实例移动到不同的服务器,以及您的下一台PC名称更改。我有几个系统,我们使用:

代码语言:javascript
复制
ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

或者,如果要将所有者更改为该本地管理员帐户,则应为:

代码语言:javascript
复制
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

因为将机器重命名为DevPC消除了以前名为WIN-ND...\Administrator的本地帐户,这也使数据库的当前所有者无效。

如果SELECT @@SERVERNAME;不准确(应该是DevPC),那么为了确保您的服务器重命名已在SQL Server中生效,您可能还需要发出以下命令:

代码语言:javascript
复制
EXEC sys.sp_dropserver @server = N'old server name';
GO
EXEC sys.sp_addserver @server = N'DevPC', @local = N'local';
GO
票数 189
EN

Stack Overflow用户

发布于 2012-04-20 22:26:23

在SQL Server Management Studio中,执行以下操作:

  1. 右键单击您的数据库,选择属性,然后转到选项页
  2. ,该页位于右侧标签为"Compatibility Level“的下拉列表中,选择"SQL

2005(90)”3-1。如果收到可比性错误,请选择"SQL Server2008“。

  1. 转到”文件“页,
  2. 在所有者文本框中输入"sa”。5-1或单击省略号(...)并选择合适的所有者。
  3. 点击OK

完成此操作后,您现在将能够访问数据库关系图。

票数 216
EN

Stack Overflow用户

发布于 2017-01-31 14:53:39

代码语言:javascript
复制
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

它起作用了。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2043382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档