创建用户定义的数据库角色注意事项





















使用T-SQL脚本创建用户定义的数据库角色
语法:
--创建用新的数据库角色之前判断角色是否已存在,如果已存在则删除。
if exists(select * from sys.database_principals where name=role_name)
--此角色的成员删除成员
use 数据库名
go
alter role role_name drop member owner_name
go
--删除角色注释
use 数据库名
go
exec sys.sp_dropextendedproperty @name=扩展属性名称,@level0type=N'user',@level0name=role_name
go
--删除此角色
drop role role_name;
go
--当前数据库中创建新的数据库角色
create role role_name
--角色拥有者
authorization owner_name;
语法解析:
示例:
--创建用新的数据库角色之前判断角色是否已存在,如果已存在则删除。
if exists(select * from sys.database_principals where name='testrole')
--此角色的成员删除成员
use [testss]
go
alter role [testrole] drop member [guest]
go
--删除角色注释
use [testss]
go
exec sys.sp_dropextendedproperty @name=N'roledescript',@level0name=N'testrole'
go
--删除此角色
drop role testrole;
go
--当前数据库中创建新的数据库角色
create role testrole
--角色拥有者
authorization dbo;
--role_name
--待创建角色的名称。
--authorization owner_name
--将拥有新角色的数据库用户或角色。如果未指定用户,则执行create role的用户将拥有该角色。
--创建此角色拥有的架构
use [testss]
go
alter authorization on schema::[db_accessadmin] to testrole;
go
use [testss]
go
alter authorization on schema::[db_accessadmin] to [db_accessadmin]
go
----此角色的成员
----添加成员
--use [testss]
--go
--alter role testrole add member [guest];
--go
--此角色的安全对象
use [testss]
go
grant backup log to testrole with grant option;
go
--添加此角色注释
use [testss]
go
exec sys.sp_addextendedproperty @name=N'roledescript',@value=N'新建测试角色',@level0name=N'testrole';
go
示例结果:
 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|