我一直在试图找出在SQL Server 2005或更高版本中授予数据库所有者的权限。 我已经看到了像这样的最佳实践问题: SQL Server 2005中数据库所有者的最佳做法是什么? 但是我一直没能find任何具体解决在SQL Server中拥有数据库所有者的目的是什么,以及由于给定login数据库所有者而授予了什么权限。 如果数据库的所有者被禁用,什么会停止工作?
本质上设置数据库所有者通过将该login名映射到该数据库中的dbo用户来允许该数据库中的完全权限。 这包括select,插入,更新,删除和执行的能力。 此外,数据库所有者可以更改对象,授予权限并更改数据库的configuration。 如果可以在数据库中完成,数据库所有者可以做到这一点。
按照Microsoft的说法:db_owner固定数据库angular色的成员可以在数据库上执行所有configuration和维护活动,也可以删除数据库。
http://msdn.microsoft.com/en-us/library/ms189121.aspx
更新到sp_changedbowner存储过程的最新替代语法是:ALTER AUTHORIZATION ON database :: TO“”。
最后,如果数据库的所有者被禁用,那么似乎没有任何事情会中断。 通常将所有用户数据库的所有者设置为“sa”,并且此login常常被禁用。 我testing了自己,结果似乎承担了这种说法。 看到这里: http : //social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/a0519b62-a509-45c9-b2cb-d9a2e6861ace/