Skip to main content

SQL Server 中地理数据库的权限

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

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

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

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

注:

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

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

最低权限

用户类型

数据库权限

数据集权限

备注

数据查看人员

SELECT

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

数据编辑人员

  • SELECTINSERTUPDATEDELETE(对于其他用户的数据集)

  • EXECUTE 针对与待编辑数据关联的存储过程

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

数据创建人员

  • CREATE TABLE

  • CREATE PROCEDURE

  • CREATE VIEW

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

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

地理数据库管理员

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

SELECTINSERTUPDATEDELETE(对于版本化数据集)

需要额外权限才能允许 SDE 用户删除或查看 SQL Server、Amazon Relational Database Service (RDS) for SQL Server 和 Google Cloud SQL for SQL Server 中的所有连接。

无需授予附加权限,SDE 用户即可从 Microsoft Azure SQL 托管的实例断开连接。

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

下表列出了在 SQL Server 和 SQL 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 Server 和 Amazon RDS for SQL Server 中的 SDE 用户必须添加到 processadmin 固定服务器角色中,才能删除地理数据库连接。

  • 必须向 Microsoft Azure SQL Database 中的 SDE 用户授予删除地理数据库连接的 KILL DATABASE CONNECTION 权限。

  • 要允许数据所有者在授予对其数据集的权限时查看用户列表,必须授予 sde 方案地理数据库中的 sde 用户对数据库的 VIEW DEFINITION 权限。 在 dbo 方案地理数据库中,dbo 用户自动具有此权限。

  • ArcGIS Monitor 可能需要附加权限以访问并监控地理数据库。 有关详细信息,请参阅注册 SQL Server 数据库