如何更改SQL Server数据库的所有者?

当我不小心点击数据库图表选项卡时,出现以下错误之一:

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

– – 要么 – –

数据库没有一个或多个使用数据库图表所需的支持对象。 你想创build它们吗?

将此数据库的所有者更改为“sa”的语法是什么?

要更改对象所有者,请尝试以下操作

EXEC sp_changedbowner 'sa' 

但是这不是你的问题,看到达芬奇工具对象必须被创build的图表(你将看到以dt_开头的表和过程)

要更改数据库所有者:

 ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa 

从SQL Server 2014开始,即使Microsoft承诺在SQL Server 2012之后的“将来”版本中将其删除,仍然可以使用sp_changedbowner 。但是,它们将其从SQL Server 2014 BOL中删除。

这是一个提示,用于创build一些不存在的对象,如sp_help_diagram(?)。

这应该与db的所有者无关。

这是一个方法来更改所有DBS的所有者(不包括系统)

 EXEC sp_msforeachdb' USE [?] IF ''?'' <> ''master'' AND ''?'' <> ''model'' AND ''?'' <> ''msdb'' AND ''?'' <> ''tempdb'' BEGIN exec sp_changedbowner ''sa'' END '