【MSSQL】SQL Server 设置用户只能查看并访问特定数据库
【MSSQL】SQL Server 设置用户只能查看并访问特定数据库
`
需求背景
SQL Server实例上有多个服务商的数据库,每个数据库要由各自的服务商进行维护,
为了限定不同服务商商的维护人员只能访问自己的数据库,且不能看到其他服务商的数据库,现需要给各个服务商商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库。
解决方案
1.首先,需要将数据库用户的角色设置为仅Public;

(注意,最好附带在‘用户映射’里勾选系统数据库‘msdb’ ,不然打开SSMS时可能会报错)

2.将服务器角色‘Public’的属性——>在【安全对象】中取消查看所有数据库的权限

3.将待授权数据库[ECT]的dbowner指派给该用户user2

用sql脚本来实现用户只能查看并访问特定数据库
/* 【MSSQL】SQL Server 设置用户只能查看并访问特定数据库 */ -- 1.将public服务器角色的属性——>安全对象中取消查看所有数据库的权限 USE [master] REVOKE VIEW ANY DATABASE TO [public]; -- 2.将待授权数据库[ECT]的dbowner指派给该用户user2 USE [ECT] EXEC dbo.sp_changedbowner N'user2';
上述方案就可以实现“设置登录用户只能看到和操作特定数据库”,实现数据库系统中 不同用户的具体数据库 完全隔离。
人生只若初见................

浙公网安备 33010602011771号