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

前端之家收集整理的这篇文章主要介绍了sql – 创建只能查看一个数据库的用户,只能从中选择?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在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'

猜你在找的MsSQL相关文章