我尝试使用SQL Server 2008创建数据库图表,但发生错误:



然后我尝试了以下方法:

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

下一个erorr弹出:



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

我该怎么解决这个烦人的错误?

最佳答案

您应该考虑使用SQL身份验证帐户来获得数据库所有权;那么您不必担心帐户来来往往,数据库或实例转移到其他服务器,以及下一个PC名称更改。我有几个使用的系统:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

或者,如果您要将所有者更改为该本地管理员帐户,则应为:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

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

如果SELECT @@SERVERNAME;不正确(应该说DevPC),则为了确保您的服务器重命名已在SQL Server中保留下来,您可能还需要发出以下命令:
EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO

关于sql-server - 无法安装数据库图支持对象……无有效所有者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2043382/

10-11 23:18
查看更多