gpt4 book ai didi

sql - 在 Management Studio 中查看表列表所需的权限

转载 作者:行者123 更新时间:2023-12-03 03:09:52 26 4
gpt4 key购买 nike

我搜索了一个已经存在的相关问题,但找不到。

我正在为我们的服务器场中的一些数据库设置只读数据库角色。以下是一张表的权限示例:

GRANT SELECT ON [dbo].[Table] TO [ReadOnly]
GRANT VIEW DEFINITION ON [dbo].[Table] TO [ReadOnly]
DENY ALTER ON [dbo].[Table] TO [ReadOnly]
DENY CONTROL ON [dbo].[Table] TO [ReadOnly]
DENY DELETE ON [dbo].[Table] TO [ReadOnly]
DENY INSERT ON [dbo].[Table] TO [ReadOnly]
DENY REFERENCES ON [dbo].[Table] TO [ReadOnly]
DENY TAKE OWNERSHIP ON [dbo].[Table] TO [ReadOnly]
DENY UPDATE ON [dbo].[Table] TO [ReadOnly]

这符合 SELECT 权限的预期...我能够选择数据,这正是我想要的。

但是,我无法在 Management Studio 中的“表”选项卡中看到指定数据库的表列表。我对该用户的目标是为一些不熟悉 SQL 的用户提供一个登录名,他们可以使用该登录名来提取数据并开始尝试 SQL。这些用户具有 SAS(一种统计处理语言)的经验,因此他们有一些使用代码的经验,但具体在 SQL 方面的经验较少。

哪些权限将显示 Management Studio 中的表列表?

最佳答案

您只需要授予任何权限和 View 定义,但您也明确 DENY来自同一用户的可继承权限( DENY 始终覆盖 GRANT )。如果您根本不这样做GRANT权限,他们不会拥有它(或者,您可以 REVOKE 而不是 DENY ,它不会显式覆盖 GRANT )。如果您更改您的 DENY发送至REVOKE在上面的脚本中,您的用户将能够列出/查看 SSMS 中的对象.

关于sql - 在 Management Studio 中查看表列表所需的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1709150/

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