加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 创建只能查看一个数据库的用户,只能从中选择?

发布时间:2020-12-12 06:38:38 所属栏目:MsSql教程 来源:网络整理
导读:我们在SQL服务器上有几个数据库. 我们想创建一个新用户,可以看到数据库’c’,但无法看到其余的数据库. 此用户应该只能从此数据库中进行选择,而不能进行任何其他操作. 我一直在谷歌搜索和搜索一段时间,我发现最接近的是拒绝查看任何数据库,然后使它们成为数据
我们在SQL服务器上有几个数据库.
我们想创建一个新用户,可以看到数据库’c’,但无法看到其余的数据库.

此用户应该只能从此数据库中进行选择,而不能进行任何其他操作.
我一直在谷歌搜索和搜索一段时间,我发现最接近的是拒绝查看任何数据库,然后使它们成为数据库所有者.

但我不认为这会限制他们选择,除非我有办法
拒绝除数据库所有者选择之外的所有内容?

在此先感谢您的帮助!

编辑:顺便说一句,SQL Server 2008 R2.

编辑2:对不起,我的原帖不清楚.我希望这样做,当他们登录时,他们甚至不会看到其他数据库的名称,而不仅仅是他们无法访问它们.

谢谢.

解决方法

1)在服务器上创建用户

2)将用户添加到给定的数据库

3)授予对数据库的只读访问权限

USE [master]
CREATE LOGIN [SomeUserName] WITH PASSWORD=N'someStr0ngP@ssword',DEFAULT_DATABASE=[c],DEFAULT_LANGUAGE=[us_english],CHECK_EXPIRATION=ON,CHECK_POLICY=ON
GO

USE [c]
CREATE USER [SomeUserName] FOR LOGIN [SomeUserName] WITH DEFAULT_SCHEMA=[dbo]
GO

EXEC sp_addrolemember N'db_datareader',N'SomeUserName'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读