授予 SQL 服务器数据库所有者哪些权限?

授予 SQL 服务器数据库所有者哪些权限?

我一直在尝试找出 SQL Server 2005 或更高版本中授予数据库所有者的权限。我见过类似这样的最佳实践问题:SQL Server 2005 中数据库所有者的最佳实践是什么?但我找不到任何具体说明在 SQL Server 中拥有数据库所有者的目的是什么以及将给定登录名设为数据库所有者后会授予哪些权限的内容。如果数据库所有者被禁用,什么会停止工作?

答案1

本质上,通过将该登录名映射到该数据库中的 dbo 用户,设置数据库所有者允许在该数据库中拥有全部权限。这包括选择、插入、更新、删除和执行的能力。此外,数据库所有者可以更改对象、授予权限和更改数据库的配置。如果可以在数据库中完成,那么数据库所有者也可以做到。

根据微软的说法:db_owner固定数据库角色的成员可以对数据库执行所有配置和维护活动,也可以删除数据库。

http://msdn.microsoft.com/en-us/library/ms189121.aspx

sp_changedbowner 存储过程的更新替代语法是:ALTER AUTHORIZATION ON database::TO“”。

最后,如果数据库的所有者被禁用,似乎不会出现任何问题。通常将所有用户数据库的所有者设置为“sa”,并且此登录名通常被禁用。我自己测试了一下,结果似乎证实了这一说法。请参见此处:http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/a0519b62-a509-45c9-b2cb-d9a2e6861ace/

相关内容