【SQL Server】向数据库用户授权并设置角色

2024-04-23 18:30:56 浏览数 (2)

数据库用户授权

授权的语法 grant 权限[on 表名] to 数据库用户 收回权限的语法 revoke 权限[on 表名] to 数据库用户 代码编写示例 hehcong为创建好的StudentManageDB数据库的用户。

代码语言:javascript复制
user StudentManageDB
go 
--给hehcong分配权限(查询、插入、修改)
grant select,insert,update on Students to hehcong
--给hehcong分配权限(创建数据表)
grant create table to hehcong
--收回hehcong权限
revoke select,insert,update, on Students to hehcong

如果数据库有几十张表,要是添加账户,并且授权不是很麻烦? 这时需要使用——–用户角色管理

用户角色管理

给单个数据库用户授权非常麻烦,能否创建一个数据库用户,然后直接辅助它一组已经定义好的权限? 解决: 定义一个角色,然后给该角色设置权限,再将该角色赋予特定用户。 使用已经定义好的角色,直接赋予特定的数据库用户即可。 下面是系统中的固定角色 一般我们再开发中只使用db_owner角色,其余的根据具体状况使用

角色名称

角色描述

db_owner

数据库的拥有者

db_accessadmin

可以新建和删除windows用户组、windows用户和数据用户

db_datareader

数据库的拥有者

db_ddlamin

可以新建、修改、删除数据中的对象

db_securtyadmin

可管理数据库内的权限控制,如果管理数据的角色和角色内的成员、管理数据库对象的访问控制 数据库的拥有者

db_backupoperator

具有备份数据库的权限

db_denydatareader

可以拒绝选择数据库中的数据

db_denydatawriter

可以拒绝更改数据库中的数据

赐予数据库用户固定角色 exec sp_addrolemember ‘数据库角色名称’,’数据库用户名’ 删除角色成员 exec sp_droprolemember ‘数据库角色名称’,’数据库用户名’ 代码编写示例 给用户hehcong赋予db_owner角色

代码语言:javascript复制
exec sp_droprolemember 'db_owner','hehcong'

0 人点赞