• Sql Server 创建用户并限制权限
  • 2025-10-18 12:23:19
  • 创建登录名

    使用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