1. 通用数据库角色的概念
通用数据库角色是一组已经预定义好的数据库角色,可在所有用户数据库中使用。通用数据库角色简化了分配特定权限的任务,并且这些权限已经预先定义好了,这些角色包括db_datareader、db_datawriter和db_executor等。管理员可以向这些通用角色中添加或移除成员,以便控制用户访问数据库的权限。
2. 创建通用数据库角色
管理员可以使用 SQL Server Management Studio(SSMS)或 T-SQL 语句创建通用数据库角色。以下是使用 T-SQL 语句创建 db_executor 角色的示例:
USE [master];
GO
CREATE SERVER ROLE [db_executor] AUTHORIZATION [sa];
GO
GRANT EXECUTE TO [db_executor];
GO
在上面的代码中,我们首先使用 USE 命令将当前数据库设为 master,然后使用 CREATE SERVER ROLE 创建一个名为 db_executor 的服务器角色,并将其授权给 sa 账户。最后,使用 GRANT 命令将 EXECUTE 权限授予 db_executor 角色。
3. 将用户添加到通用数据库角色中
3.1 使用 SSMS 将用户添加到角色中
管理员可以使用 SSMS 将用户添加到通用数据库角色中。以下是将用户 Alice 添加到 db_executor 角色中的步骤:
打开 SSMS,连接到适当的 SQL Server 实例,选择用户数据库。
展开 Security 节点,右键单击 Roles,选择 New Database Role。
在 General 页面中,指定角色名称及描述,选择 Database Role 作为 Role Type。
在 Securables 页面中,单击 Search 按钮,选择要添加到角色的对象,如 dbo。选择 Grant 或 Deny 权限。
在 Members 页面中,单击 Add 按钮,选择要添加到角色的用户,如 Alice。
单击 OK 按钮完成操作。
3.2 使用 T-SQL 将用户添加到角色中
管理员可以使用 T-SQL 语句将用户添加到通用数据库角色中。以下是将用户 Bob 添加到 db_executor 角色中的示例:
USE [mydatabase];
GO
ALTER ROLE [db_executor] ADD MEMBER [Bob];
GO
在上面的代码中,我们首先使用 USE 命令将当前数据库设为 mydatabase,然后使用 ALTER ROLE 命令将用户 Bob 添加到 db_executor 角色中。
4. 从通用数据库角色中删除用户
4.1 使用 SSMS 从角色中删除用户
管理员可以使用 SSMS 从通用数据库角色中删除用户。以下是将用户 Alice 从 db_executor 角色中删除的步骤:
打开 SSMS,连接到适当的 SQL Server 实例,选择用户数据库。
展开 Security 节点,右键单击 Roles,选择对应的角色。
在右侧 Members 标签页中,选择要删除的用户,如 Alice。
单击 Remove 按钮,确认操作。
4.2 使用 T-SQL 从角色中删除用户
管理员可以使用 T-SQL 语句从通用数据库角色中删除用户。以下是将用户 Bob 从 db_executor 角色中删除的示例:
USE [mydatabase];
GO
ALTER ROLE [db_executor] DROP MEMBER [Bob];
GO
在上面的代码中,我们首先使用 USE 命令将当前数据库设为 mydatabase,然后使用 ALTER ROLE 命令将用户 Bob 从 db_executor 角色中删除。