首页 > 数据库 >Sql Server 创建用户并限制权限

Sql Server 创建用户并限制权限

时间:2024-01-19 17:44:07浏览次数:52  
标签:登录名 -- 数据库 db 用户 Server Sql 权限

创建登录名

  使用sa或者Windows身份验证登录,【安全性】-【登录名】,右键【新建登录名】

  

设置登录名属性

  

设置数据库权限

  1. db owner --拥有数据库全部权限,包括删除数据库权限
  2. db accessadmin --只给数据库用户创建其他数据库用户的权限,而没有创建登录用户的权限
  3. db securityadmin --可以管理全部权限、对象所有权、角色和角色成员资格
  4. db ddladmin  --可以发出所有DDL(CreateAlter和Drop),但不能发出GRANT、REVOKE或DENY语句
  5. db backupoperator --允许对数据库进行备份和还原的权限[备份与还原是通过sal sever management studio也可以进行)
  6. db datareader --可以选择数据库内任何用户表中的所有数据
  7. db datawriter --可以更改数据库内任何用户表中的所有数据
  8. db denydatareader --不能查询数据库内任何用户表中的任何数据
  9. db denydatawriter' --不能更改数据库内任何用户表中的任何数据

  

测试新建的账号

  1. 如果test账号在第2步【用户映射】页只勾选了public,那么此时只能正常打开数据库,但是不能访问任何表
  2. 如需访问数据库下的所有表,数据库权限建议勾选【db datareader】

  

设置表权限

  1. 检查【登录名(test)】属性在【用户映射】页,除了勾选了public,其他都权限项去掉
  2. 找到具体可以访问的表,我这里以【dbo.A】为例,右键【属性】-【权限】

  

  

测试表权限

  1. 登录test账号,此时只能看到dbo.A
  2. 只能执行select,不可执行update\delete

  

  

  

 

标签:登录名,--,数据库,db,用户,Server,Sql,权限
From: https://www.cnblogs.com/Zing/p/17975137

相关文章

  • SQL Server 清除一个数据库下所有表数据,保留表结构
    用法:在需要清空数据的数据库创建并执行存储过程,该存储过程并不会影响其他数据库❗请小心使用这些脚本,确保在生产环境之前备份您的数据库。⚠️存储过程:CREATEPROCEDUREClearAllTablesASBEGINDECLARE@TableNameNVARCHAR(255)DECLAREtableCursorCURSORFOR......
  • Spark SQL的运行原理
    DataFrame、DataSet和SparkSQL的实际执行流程都是相同的:1.进行DataFrame/Dataset/SQL编程;2.如果是有效的代码,即代码没有编译错误,Spark会将其转换为一个逻辑计划;3.Spark将此逻辑计划转换为物理计划,同时进行代码优化;4.Spark然后在集群上执行这个物理计划(基于RDD操作)......
  • 八股文之SQL语句
    1,DDL--数据定义语言:用于改变数据库结构,包括创建、修改、删除数据库对象。用于操纵表结构的数据定义语言命令有:CREATETABLE--创建ALTERTABLE--更改DROPTABLE--删除2,DML--数据操纵语言:数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令。INSERT-......
  • SpringBoot+dynamic-datasource实现多数据源(msyql、sqlserver、postgresql)手动切换
    场景SpringBoot+MybatisPlus+dynamic-datasources实现连接Postgresql和mysql多数据源:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/135653227上面实现通过注解和配置文件的方式去进行多数据源操作。如果业务需求,比如查询第三方接口时提供的是sqlserver的视图连......
  • mysql常用查询日期语句
    --最近30天 selectdate_add(curdate(),interval(cast(help_topic_idassignedinteger)-30)day)dayfrommysql.help_topicwherehelp_topic_id <=day(last_day(curdate()))orderbyhelp_topic_id--最近7天 selectdate_add(curdate(),interval(cast(help_to......
  • elasticsearch学习笔记2 - logstash jdbc 同步MYSQL到ES
    logstash是一个管道工具input输入output输出filter过滤条件咋们初级先了解到这些再说比较优秀的教程文档作为基础知识需要了解:https://blog.csdn.net/qq_19283249/article/details/130839158?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170564710516800215......
  • 001 SQL Serverでレコード件数を調べる方法
    1,count関数件数が膨大なテーブルに対して実行した場合、結果が返ってくるまでに時間がかかります。SELECTcount(*)as[行数]FROM[テーブル名]2,sp_spaceusedシステムストアドプロシージャのsp_spaceusedを使ってレコード数を取得できます。EXECsp_spaceused[テーブ......
  • dotnet 8项目Docker部署报错 Unhandled exception. Microsoft.Data.SqlClient.SqlExce
    环境:dotnet8+sqlserver2012本地开发调试正常,部署至Docker容器时,运行实例报错。查看日志显示:Unhandledexception.Microsoft.Data.SqlClient.SqlException(0x80131904):Aconnectionwassuccessfullyestablishedwiththeserver,butthenanerroroccurredduringth......
  • redis漏洞修复-使用redis普通用户启动redis服务程序(禁止root用户权限)
    2.Redis服务以root权限运行应用:Redis危险程度:高危风险描述:Redis服务以root权限运行,攻击者可通过Redis对服务器文件进行任意操作或者执行命令。通过查询命令获取敏感信息,通过写入公钥信息获取ssh登录权限等。如果Redis为root权限,攻击者则无需提权直接对服务器进行操作。验证信息......
  • PostgreSQL从入门到精通教程 - 第42讲:pg_rman部署与使用
       PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。 第42讲:pg_rman部署与使用 PostgreSQL第42讲:1月20日......