我一直试图找出在 SQL Server 2005 或更高版本中授予数据库所有者的权限。我见过这样的最佳实践问题:SQL Server 2005 中数据库所有者的最佳实践是什么?但我还没有找到任何具体说明在 SQL Server 中拥有数据库所有者的目的是什么,以及由于使给定登录成为数据库所有者而授予的权限。如果数据库的所有者被禁用,什么会停止工作?
我一直试图找出在 SQL Server 2005 或更高版本中授予数据库所有者的权限。我见过这样的最佳实践问题:SQL Server 2005 中数据库所有者的最佳实践是什么?但我还没有找到任何具体说明在 SQL Server 中拥有数据库所有者的目的是什么,以及由于使给定登录成为数据库所有者而授予的权限。如果数据库的所有者被禁用,什么会停止工作?
本质上,设置数据库所有者允许通过将该登录名映射到该数据库中的 dbo 用户来获得该数据库中的全部权限。这包括选择、插入、更新、删除和执行的能力。此外,数据库所有者可以更改对象、授予权限和更改数据库的配置。如果可以在数据库中完成,则数据库所有者可以做到。
根据 Microsoft: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/