我尝试使用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/