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

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

第一步:创建用户

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

第二步:设置用户映射

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

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

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

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

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

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

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

第五步:检查权限

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

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

复制代码
USE [JTDataPatform]
GO
EXEC dbo.sp_changedbowner N'JT' 

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

复制代码
USE [JTDataPatform]
GO
EXEC dbo.sp_changedbowner N'sa'

相关推荐
Waloo1 天前
SQL Server 2017 EXISTS 关键字 完整用法详解(最全 + 最优写法 + 性能对比)
sql·sql server
l1t8 天前
一个用SQL Sever求解数独的SQL
数据库·sql·sql server·数独·sudoku
用户6135411460169 天前
手把手教你安装 SQLServer2014-x64-CHS附详细文步骤与避坑指南
sql server
xiaoliuliu123459 天前
SQL Server 2008 SP2 补丁包安装步骤(x64中文版)
sql server
用户61354114601611 天前
SQL Server 2008 SP2 补丁包安装步骤(x64中文版)
sql server
奥尔特星云大使16 天前
使用 Docker 运行 SQL Server 2019
运维·docker·容器·sql server
我科绝伦(Huanhuan Zhou)18 天前
影响SQL Server性能的关键因素深度解析
数据库·sql server
我科绝伦(Huanhuan Zhou)1 个月前
Linux 环境下 SQL Server 自动收缩日志作业创建脚本(Shell 版)
linux·运维·数据库·sql server
wstcl1 个月前
通过EF Core将Sql server数据表移植到MySql
数据库·mysql·sql server·efcore
ManageEngine卓豪1 个月前
SQL Server 审计指南:配置、使用与最佳实践
sql server·日志分析·数据库安全·sql server审计