将Sql Server对象的当前拥有者更改成目标拥有者

SQL Server中更改对象(表、视图、存储过程等)的拥有者,可以使用ALTER AUTHORIZATION语句。语法如下:

ALTER AUTHORIZATION ON OBJECT::object_name TO user_name

– OBJECT可以是TABLE、VIEW、PROCEDURE等,表示对象类型。

– object_name是要更改拥有者的对象名。

– user_name是新的拥有者用户名。例如:

更改表的拥有者:

ALTER AUTHORIZATION ON OBJECT::products TO dba_user 

更改存储过程的拥有者:

 
ALTER AUTHORIZATION ON OBJECT::usp_GetProducts TO app_user

更改视图的拥有者:

ALTER AUTHORIZATION ON OBJECT::v_clients TO manager_user

需要注意的是:

1. 执行该语句的用户必须具有CONTROL权限才能更改对象的拥有者。

2. 新拥有者用户必须存在,并且用户类型为SQL、WINDOWS USER或WINDOWS GROUP。

3. 不允许将对象的拥有者更改成dbo用户。dbo是数据库对象的默认架构,不是一个真实用户。

4. 如果对象所在的架构与用户名不符,会自动更改对象的架构为新用户名。

5. 不能更改系统对象(如数据库或登录名)的拥有者。

6. 如果对象有基于该对象的权限分配,这些权限分配会自动遗留并转移到新拥有者。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论