首页 > 数据库 >SQL Server创建用户只能访问指定数据库和视图

SQL Server创建用户只能访问指定数据库和视图

时间:2024-10-30 17:34:31浏览次数:1  
标签:权限 数据库 指定 视图 用户 访问 SQL Server

我们在给数据库用户赋予权限时,有时候不想让该用户看到太多过程表和过程视图,这时就需要限定用户的访问权限

第一步:创建用户

创建数据库连接后,进入安全性——登录名,单击右键,新建登录名,并设置默认数据库

第二步:设置用户映射

点击用户映射,勾选指定要访问的数据库,数据库成员身份默认为public,无需更改,然后单击确定

这时候,我们可以看到指定的数据库用户中增加了刚刚新增的用户

 

第三步:设置只能访问指定的数据表或视图

指定数据库——安全性——用户——需要指定的用户,单击右键——属性——安全对象——搜索——特定对象——对象类型(选择自己需要指定用户访问的对象类型,我这里选择的是视图),然后点击浏览,勾选需要给用户授权访问的视图,确定即可

第四步:给指定表或视图赋予具体权限

如果是只读,则只需要勾选“选择”权限,设置好后点击确定即可

注意:这里需要每张表或视图逐一设置

第五步:检查权限

用刚刚新增的用户登录数据库,我们发现只能看到改数据库下刚刚赋予权限的视图,其他的表和视图都不可见,达到目标

 

看很多其他的文章,都说要做这步设置

USE [JTDataPatform]
GO
EXEC dbo.sp_changedbowner N'JT' 

 实践证明,执行了这条语句之后,后面如果想删除该用户会遇到各种奇葩的错误提示导致用户无法删除,这时候只需要再重新将owner的权限赋值给sa,然后就可以顺利删除自己新建的用户啦

USE [JTDataPatform]
GO
EXEC dbo.sp_changedbowner N'sa'

  

标签:权限,数据库,指定,视图,用户,访问,SQL,Server
From: https://www.cnblogs.com/ykagile/p/18516249

相关文章

  • Win11 启用 OpenSSH Server
    Win11启用OpenSSHServer在Unix系统(如Ubuntu)中启用OpenSSHServer是很容易的,在Windows上启用要稍微复杂一些。本文记录一下在Windows上启用OpenSSHServer的过程和可能遇到的问题。添加OpenSSHServer功能Win11预装了OpenSSHClient,但没有预装OpenSSHServer......
  • MySQL敏感数据进行加密的几种方法
    使用MySQL内置的加密函数AES_ENCRYPT和AES_DECRYPT函数方法介绍:AES(AdvancedEncryptionStandard)是一种对称加密算法。在MySQL中,可以使用AES_ENCRYPT函数对数据进行加密,使用AES_DECRYPT函数进行解密。这种加密方式的特点是加密和解密使用相同的密钥。示例:......
  • MySQL如何输出自己的AWR分析报告
    一、启用慢查询日志配置慢查询日志参数编辑MySQL配置文件(通常是my.cnf或my.ini),找到以下参数并进行设置。slow_query_log:将其设置为1以启用慢查询日志。例如:slow_query_log=1。long_query_time:定义查询执行时间的阈值,超过这个时间的查询会被记录到慢查询日志中。单......
  • MYSQL索引相关
    原sqlSELECTid,user_id,package_id,term_id,source,type,order_id,code_record_id,created_at,updated_at,version,is_deletedASdeletedFROMtbl_purchased_packageWHERE(ter......
  • SQL执行顺序及where、group by及having
    SQL执行顺序及where、groupby及having一、SQL的书写与执行顺序SQL语句书写顺序select、form、where、group by、having、select、orderby、limit SQL语句执行顺序from、where、group by、having、select、order by、limit当然如果有join,肯定优先级是join,接下来是from......
  • MySQL双主配置
    1、配置的前置条件已知A服务器IP=192.168.0.11,B服务器IP=192.168.0.12建议使用相同版本的MySQL,若是小版本跨越一般是兼容的,如A的MySQL版本是5.7.1,B的MySQL版本是5.7.2;配置前需要保证两个数据库的数据一致,建议将A数据库同步到B数据库,以保证配置前A、B两台数据库的数据是一致的;......
  • Oracle、MySQL、ClickHouse的通用AES256加解密如何实现?
     Oracle、MySQL、ClickHouse的通用AES256加解密如何实现? 前段时间研究了加密算法aes,写了个文档,分享到博客上来。防。1  说明应XXX安全生产需求,对目标库目标表业务字段敏感信息进行加密密文存放,查询时通过解密得到明文进行数据使用,要求使用AES256。目前公司所使用主要......
  • MySQL数据库详细介绍:从入门到进阶
    MySQL是一个广泛使用的开源关系型数据库管理系统,被广泛应用于Web应用程序、企业级应用以及各种数据分析场景。本文将详细介绍MySQL数据库的基本概念、安装、配置、管理以及优化等方面的内容,帮助大家从入门到进阶了解MySQL。 一、MySQL安装可以通过以下链接下载MySQL安装包:......
  • MySQL 篇
    MySQL篇整体内容优化-如何定位慢查询如何定位慢查询问答环节优化-SQL语句执行的很慢,如何分析解决思路问答环节优化-索引概念及索引底层数据结构数据结构对比问答环节优化-聚簇索引、非聚簇索引、回表查询回表查询问答环节优化-覆盖索引、超大......
  • SQL Server 数据库给第三方用户开权限,限制可见内容。
    给外方公司开用户,让其访问本地有限资源。分两步,1新建服务器登录名,2设置数据库用户权限1,首先用管理员sa登录数据库,在服务器级别下“安全性\登录名”,新建登录名,比如叫tgzz。在“用户映射”界面,选择需要被外方访问的数据库,勾选。映射后,此数据库下会出现,与“登录名”同名的“用户名......