数据库用户授权
授权的语法 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'