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

前端之家收集整理的这篇文章主要介绍了sql – 在Management Studio中查看表列表所需的权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
搜索了SO已经存在的相关问题,但找不到一个.

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

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中的表列表?

解决方法

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

猜你在找的MsSQL相关文章