gpt4 book ai didi

sql - 创建只能查看一个数据库并只能从中进行选择的用户?

转载 作者:行者123 更新时间:2023-12-02 13:02:32 28 4
gpt4 key购买 nike

我们在 SQL Server 上有多个数据库。我们想要创建 1 个新用户,该用户可以查看数据库“c”,但看不到其余数据库。

该用户应该只能从此数据库中进行选择,而不能进行其他选择。
我已经用谷歌搜索了一段时间,我发现的最接近的是拒绝查看任何数据库,然后让他们成为数据库所有者。

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

预先感谢您的帮助!

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

Edit2:抱歉,我在原来的帖子中没有说清楚。我希望做到这一点,这样当他们登录时,他们甚至看不到其他数据库的名称,而不仅仅是他们无法访问它们。

谢谢。

最佳答案

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'

关于sql - 创建只能查看一个数据库并只能从中进行选择的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218897/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com