操作方法

错误:BUG-000095963:在 SQL Server 中使用“创建数据库用户”工具创建的用户即使没有 SELECT 权限也能够看到未注册的表和视图

Last Published: April 24, 2024

描述

连接到 SQL Server 中的地理数据库时,某些用户能够看到所有未注册的表和视图,即使他们没有被授予对它们的 SELECT 权限。 但是,如果选择了其中一个对象,则会返回错误消息,并且用户无法查看这些表或视图的任何数据或属性。 此行为存在于安装了 Utilities & Telcom Update Patch 5 (UTUP5) 的 ArcGIS for Desktop 10.2.1、10.4、10.4.1 和 ArcGIS Pro 1.2 中。

原因

使用“创建数据库用户”地理处理工具创建的用户被授予 VIEW DEFINITION 权限,以便他们能够“用户/角色”对话框(通过“权限”对话框访问)中查看其他用户和角色的列表。 VIEW DEFINITION 权限允许用户查看 SQL Server 数据库元数据,包括该数据库中的用户列表以及表和视图等数据库对象列表。

ArcGIS 10.4 中修复了 BUG-0000917818(旨在提高非 DBO 用户连接到大型地理数据库的性能)。 为了提高连接性能,ArcGIS 已更改为依赖数据库系统目录来过滤表,这比检查数据库中每个表的权限快得多。 但是,具有 VIEW DEFINITION 权限的用户即使没有访问其内容的权限,也会在数据库系统目录表中看到视图和表。

解决方案或解决方法

此行为将在下一版本的 ArcGIS 中得到解决。 如果您使用的是 ArcGIS Pro 1.2、ArcGIS for Desktop 10.4、10.4.1 或 10.2.1 且安装了 UTUP5 并遇到此行为,则可以撤销受影响用户的 VIEW DEFINITION 权限。 请注意,撤销此权限意味着用户将不再能在 ArcGIS Desktop 的“用户/角色”对话框中看到可用用户或角色的列表。 可以通过手动键入用户或角色的名称在此对话框中管理对象权限,但所有可用的用户或角色名称都不会显示在对话框中。

  1. 使用 SQL Server Management Studio,导航到需要修改用户权限的数据库。
  2. 右键单击数据库图标,然后选择属性
  3. 选择权限页面。
  4. 选择用户
  5. <用户> 的权限下,选择显式选项卡,向下滚动到查看定义并取消选中授予复选框。
  6. 单击确定

“数据库属性”对话框的图像

文章 ID: 000013027

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项