加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer之创建用户定义的数据库角色

发布时间:2020-12-12 09:11:16 所属栏目:MsSql教程 来源:网络整理
导读:创建用户定义的数据库角色注意事项 使用T-SQL脚本创建用户定义的数据库角色 语法: --创建用新的数据库角色之前判断角色是否已存在,如果已存在则删除。 if exists(select * from sys.database_principals where name=role_name) --此角色的成员删除成员 use

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

使用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

示例结果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读