SQLServer更改用户定义的数据库角色

更改用户定义的数据库角色注意事项

需具备如下一项或多项权限或成员身份才能运行此命令:数据库

对角色具备 ALTER 权限
对数据库具备 ALTER ANY ROLE 权限
具备 db_securityadmin 固定数据库角色的成员身份
此外,若要更改固定数据库角色中的成员身份还须要:安全

具备 db_owner 固定数据库角色的成员身份
不能更改固定数据库角色的名称。服务器

使用SSMS数据库管理工具更改用户定义的数据库角色

一、链接数据库-》选择数据库-》展开安全性-》展开角色-》展开数据库角色-》选择要修改的数据库角色-》右键点击-》选择属性。架构

clipboard.png

二、在数据库角色属性弹出框-》点击常规-》修改角色全部者-》修改角色拥有的架构(数据库架构,相似于数据库对象的命名空间,用户经过架构访问数据库对象,数据库角色能够添加,能够定制不一样权限,能够拥有一个或者多个数据库架构)-》修改角色成员(角色指定向数据库角色的成员身份添加数据库主体)。工具

clipboard.png

三、在数据库角色属性弹出框-》点击安全对象-》修改数据库角色名称-》修改数据库角色安全对象-》修改数据库角色安全对象权限(当使用角色执行数据库操做、对象和资源时,经过安全对象和权限设置来定义和解决这个问题)。测试

clipboard.png

四、在数据库角色属性弹出框-》点击扩展属性-》修改数据库角色注释(对角色进行注释解说)-》点击肯定,修改完成。spa

clipboard.png

使用T-SQL脚本更改用户定义的数据库角色

语法

--声明数据库引用
use database_name;
go
--修改数据库中建立新的数据库角色名称
alter role role_name with name=new_role_name;
go
 
--修改此角色拥有的架构 
--添加时执行下列语法
use database_name
go
alter authorization on schema::架构名称 to role_name;
go
--删除或者时把架构拥有者改成架构自己即,注意不要删除架构
use database_name
go
alter authorization on schema::架构名称 to 架构名称;
go
 
----此角色的成员
--添加成员
use database_name
go
alter role role_name add member database_principal;
go
----删除成员
use database_name
go
alter role role_name drop member database_principal;
go
 
----此角色的安全对象
----授予权限
use database_name
go
----授予备份日志的权限
grant 权限名称 to role_name;
go
----授予并容许转授备份日志的权限
grant 权限名称 to role_name with grant option;
go
----回收授予并容许转转授备份数据库的权限
revoke grant option for 权限名称 to role_name  cascade as 全部者;
go
----拒毫不安全的程序集
deny 权限名称 to role_name cascade;
go
 
--修改此角色注释
use database_name
go
exec sys.sp_updateextendedproperty @name=扩展属性名称, @value=扩展属性值 , @level0type=N'user',@level0name=role_name ;
go

语法注释

--database_name
--数据库名称日志

--role_name
--适用范围:SQL Server(从 2008 版开始)和 Azure SQL Database
--指定要更改的数据库角色。
--with name=new_role_namecode

--适用范围:SQL Server(从 2008 版开始)和 Azure SQL Database
--指定更改用户定义的数据库角色的名称。 数据库中必须还没有包含新名称。
--更改数据库角色的名称不会更改角色的 ID 号、全部者或权限。对象

--add member database_principal
--适用范围:SQL Server(从 2012 版开始)和Azure SQL Database
--指定向数据库角色的成员身份添加数据库主体。
--database_principal 是数据库用户或用户定义的数据库角色。
--database_principal 不能是固定的数据库角色或是服务器主体。

--drop member database_principal
--适用范围:SQL Server(从 2012 版开始)和Azure SQL Database
--指定从数据库角色的成员身份删除数据库主体。
--database_principal 是数据库用户或用户定义的数据库角色。
--database_principal 不能是固定的数据库角色或是服务器主体。

示例

--修改此角色拥有的架构 
--添加时执行下列语法
--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
 
/**********
语法
添加角色成员
alter role role_name add member database_principal
--add member database_principal
--适用范围:SQL Server(从 2012 版开始)和Azure SQL Database
--指定向数据库角色的成员身份添加数据库主体。
--database_principal 是数据库用户或用户定义的数据库角色。
--database_principal 不能是固定的数据库角色或是服务器主体。
 
删除角色成员
alter role role_name drop member database_principal
--drop member database_principal
--适用范围:SQL Server(从 2012 版开始)和Azure SQL Database
--指定从数据库角色的成员身份删除数据库主体。
--database_principal 是数据库用户或用户定义的数据库角色。
--database_principal 不能是固定的数据库角色或是服务器主体。
***********/
----此角色的成员
--添加成员
--use [testss]
--go
--alter role testrole add member [guest];
--go
----删除成员
use [testss]
go
alter role [testrole] drop member [guest];
go
 
----此角色的安全对象
----授予权限
--use [testss]
--go
----授予备份日志的权限
--grant backup log to [testrole];
--go
----授予并容许转授备份日志的权限
--grant backup log to [testrole] with grant option;
--go
----回收授予并容许转转授备份数据库的权限
--revoke grant option for backup log to [testrole] cascade as [dbo];
--go
----拒毫不安全的程序集
--deny backup log to [testrole] cascade;
--go
 
 
--修改此角色注释
use [testss]
go
exec sys.sp_updateextendedproperty @name=N'roledescript', @value=N'修改测试角色' , @level0type=N'user',@level0name=N'testrole';
go
 
/**********
语法
alter role role_name with name=new_name;
--role_name
--适用范围:SQL Server(从 2008 版开始)和 Azure SQL Database
--指定要更改的数据库角色。
--with name=new_name
--适用范围:SQL Server(从 2008 版开始)和 Azure SQL Database
--指定更改用户定义的数据库角色的名称。 数据库中必须还没有包含新名称。
--更改数据库角色的名称不会更改角色的 ID 号、全部者或权限。
**********/
--声明数据库引用
use [testss];
go
--修改数据库中建立新的数据库角色名称
alter role testrole with name=alterrole;
go

示例结果:注意T-SQL脚本执行完成以后须要刷信查看执行结果!

clipboard.png

相关文章
相关标签/搜索