SQL Server 中地理数据库的权限

权限用于确定用户有权对数据和数据库执行何种操作。 应根据人员在组织中所执行的工作类型来分配权限。 该人员是否为地理数据库的管理员? 该人员是否需要编辑或创建数据? 或者该人员是否仅需查询数据?

可在不同级别设置用户权限。 本页面列出了以下普通用户类型的数据库和数据集权限:数据查看人员、数据编辑人员、数据创建人员和地理数据库管理员

可以使用 Microsoft SQL Server 工具或 Transact SQL 语句管理用户数据库权限。

必须使用 ArcGIS 授予或撤消地理数据库中数据集的权限,并且必须由数据集所有者完成此操作。

注:

默认情况下,将为公共数据库角色授予数据库的 CONNECT 权限。 如果撤销公共数据库的此权限,则必须向特定角色或登录帐户明确授予数据库的 CONNECT 权限。

此页面中列出的权限适用于 ArcGIS 支持的 SQL ServerSQL Server 数据库服务

最低权限

用户类型数据库权限数据集权限备注

数据查看人员

SELECT

如果您有权读取数据库中的所有表,则可为用户指定 db_datareader 数据库角色;否则,请授予特定表和视图的 SELECT 权限。

数据编辑人员

  • 对其他用户数据集的 SELECTINSERTUPDATEDELETE 权限
  • 对要编辑数据关联的存储过程的 EXECUTE 权限

如果使用 ArcGIS 为注册为传统版本化的要素类或表授予 SELECTINSERTUPDATEDELETE 权限,则这些权限会自动授予到与之相关联的版本化视图中。 用户使用 SQL 和版本化视图进行编辑时将需要这些权限。

数据创建人员

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW
  • 每个用户必须拥有与其用户名同名的方案或具有该方案的 CONTROL 权限,并且该方案必须是用户的默认方案。

方案名称必须与独立用户名匹配。 不能为所有数据创建人员使用唯一的方案。 例如,如果用户名为 simon,则用户必须拥有或可以控制名为 simon 的方案。 如果不满足此要求,则用户无法创建对象(如要素类)。

地理数据库管理员

在创建或升级地理数据库之后,sde 用户仅需能够连接到地理数据库。

对版本化数据集的 SELECTINSERTUPDATEDELETE 权限

要允许 sde 用户断开或查看 SQL ServerAmazon Relational Database Service (RDS) for SQL ServerGoogle Cloud SQL for SQL Server 中的所有连接,需要附加权限。

无需授予附加权限,sde 用户即可从 Microsoft Azure SQL Managed Instance 断开连接。

sde 用户不能断开与 Azure SQL Database 的连接。

创建或升级地理数据库的权限

下表列出了在 SQL ServerSQL Server 数据库服务中创建或升级地理数据库所必须使用的用户和权限。

地理数据库的类型创建地理数据库的用户和权限升级地理数据库的用户和权限

Sde 方案地理数据库

sde 用户需要以下权限:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

sde 用户必须拥有名为 sde 的方案或具有该方案的 CONTROL 权限,并且该 sde 方案必须是 sde 用户的默认方案。

如果在创建地理数据库之前没有将数据库选项 READ_COMMITTED_SNAPSHOTALLOW_SNAPSHOT_ISOLATION 设置为 ON,则 sde 用户需要 ALTER 权限。

对于 Microsoft Azure SQL Database 中的地理数据库,还需要 VIEW DATABASE STATE 权限。

必须将 sde 用户添加到要升级的数据库中的 db_owner 角色。

此外,也可由 db_owner 数据库角色或 sysadmin 固定服务器角色中的用户(除 sde 之外)在 SQL Server 中执行升级操作。 这不适用于数据库服务。

Dbo 方案

dbo 用户已经具有在数据库中创建地理数据库所需的权限。

dbo 用户已经具有升级所需的权限。

此外,也可由 db_owner 数据库角色中的用户执行升级操作。

其他权限

以下功能需要在地理数据库中具有其他权限:

  • 要删除地理数据库连接,必须将 SQL Server 中的 sde 方案地理数据库的地理数据库管理员(sde 用户)添加到 processadmin 固定服务器角色,并向其授予数据库的 VIEW DEFINITION 权限。 创建企业级地理数据库地理处理工具会将此角色和权限授予 sde 用户。 可以在创建地理数据库后撤销此权限并将用户从 processadmin 角色中移除,但执行此操作后 sde 用户无法将用户从地理数据库断开。
  • 必须将 Google Cloud SQL for SQL ServerAmazon RDS for SQL Server 中的 sde 用户添加到 processadmin 固定服务器角色才能断开地理数据库连接。
  • 要允许数据所有者在授予对其数据集的权限时查看用户列表,必须授予 sde 方案地理数据库中的 sde 用户对数据库的 VIEW DEFINITION 权限。 在 dbo 方案地理数据库中,dbo 用户自动具有此权限。
  • 必须为 SQL Server 中所有将拥有 XML 列的用户授予对用于建立 XML 列索引的全文目录的 REFERENCES 权限。
  • ArcGIS Insights 可能需要附加权限。 有关详细信息,请参阅 ArcGIS Insights 帮助中的所需数据库权限
  • ArcGIS Monitor 可能需要附加权限以访问并监控地理数据库。 有关详细信息,请参阅注册 SQL Server 数据库