Sql Server 创建用户并限制权限
创建登录名
使用sa或者Windows身份验证登录,【安全性】-【登录名】,右键【新建登录名】
设置登录名属性
设置数据库权限
- db owner --拥有数据库全部权限,包括删除数据库权限
- db accessadmin --只给数据库用户创建其他数据库用户的权限,而没有创建登录用户的权限
- db securityadmin --可以管理全部权限、对象所有权、角色和角色成员资格
- db ddladmin --可以发出所有DDL(CreateAlter和Drop),但不能发出GRANT、REVOKE或DENY语句
- db backupoperator --允许对数据库进行备份和还原的权限[备份与还原是通过sal sever management studio也可以进行)
- db datareader --可以选择数据库内任何用户表中的所有数据
- db datawriter --可以更改数据库内任何用户表中的所有数据
- db denydatareader --不能查询数据库内任何用户表中的任何数据
- db denydatawriter' --不能更改数据库内任何用户表中的任何数据
测试新建的账号
- 如果test账号在第2步【用户映射】页只勾选了public,那么此时只能正常打开数据库,但是不能访问任何表
- 如需访问数据库下的所有表,数据库权限建议勾选【db datareader】
设置表权限
- 检查【登录名(test)】属性在【用户映射】页,除了勾选了public,其他都权限项去掉
- 找到具体可以访问的表,我这里以【dbo.A】为例,右键【属性】-【权限】
测试表权限
- 登录test账号,此时只能看到dbo.A
- 只能执行select,不可执行update\delete