我们在sql服务器上有几个数据库.
我们想创建一个新用户,可以看到数据库’c’,但无法看到其余的数据库.
我们想创建一个新用户,可以看到数据库’c’,但无法看到其余的数据库.
此用户应该只能从此数据库中进行选择,而不能进行任何其他操作.
我一直在谷歌搜索和搜索一段时间,我发现最接近的是拒绝查看任何数据库,然后使它们成为数据库所有者.
但我不认为这会限制他们选择,除非我有办法
拒绝除数据库所有者选择之外的所有内容?
在此先感谢您的帮助!
编辑:顺便说一句,sql Server 2008 R2.
编辑2:对不起,我的原帖不清楚.我希望这样做,当他们登录时,他们甚至不会看到其他数据库的名称,而不仅仅是他们无法访问它们.
谢谢.
解决方法
1)在服务器上创建用户
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'