权限用于确定用户有权对数据和数据库执行何种操作。应根据人员在组织中所执行的工作类型来分配权限。用户是否为地理数据库的管理员?用户是否需要编辑或创建数据?用户是否仅需查询数据?
可在不同级别设置用户权限。本主题列出了以下普通用户类型的数据库和数据集权限:数据查看人员、数据编辑人员、数据创建人员和地理数据库管理员。
- 第一部分指出了每种用户类型所需的最低权限。
- 第二部分列出了创建或升级地理数据库所需的权限。
- 最后一部分列出了其他地理数据库功能所需的可选权限。
可以使用 SQL Server 工具或 Transact SQL 语句管理用户数据库权限。
数据集权限应由数据集所有者使用 ArcGIS for Desktop 中提供的权限对话框或更改权限地理处理工具进行授予或撤销。有关说明,请参阅授予和撤消数据集权限。
最低权限
用户类型 | 数据库权限 | 数据集权限 | 注意事项 |
---|---|---|---|
数据查看人员 | SELECT | 如果您有权读取数据库中的所有表,则可为用户指定 db_datareader 数据库角色;否则,授予特定表和视图的 SELECT 权限。 | |
数据编辑人员 |
| 如果用户要通过版本化视图编辑版本化数据,还必须在版本化视图中为其授予 SELECT、INSERT、UPDATE 和 DELETE 权限。如果使用 ArcGIS 中的权限 对话框为版本化要素类授予 SELECT、INSERT、UPDATE 和 DELETE 权限,则这些权限会自动授予到与其相关联的版本化视图中。 | |
数据创建人员 |
| 创建数据的用户必须具有与其数据库用户名同名的默认方案。例如,如果用户名为 simon,则默认方案名称也必须为 simon。如果两者不同,用户将无法创建对象(如要素类)。 | |
地理数据库管理员 | 如果地理数据库管理员是名为 sde 的用户并且该用户不会拥有系统对象外的地理数据库中的数据,在创建了地理数据库之后,该 sde 用户仅需能够连接到地理数据库。然而,当地理数据库需要升级或者 sde 用户需要终止连接或查看所有数据库用户时,则需要其他权限。 | 对版本化数据集的 SELECT、INSERT、UPDATE 和 DELETE 权限 |
创建或升级地理数据库的权限
下表列出了在 SQL Server 中创建或升级地理数据库所必须使用的用户和权限。
地理数据库的类型 | 创建地理数据库的用户和权限 | 升级地理数据库的用户和权限 |
---|---|---|
Sde 方案地理数据库 | sde 用户需要以下权限:
| 必须将 sde 用户添加到要升级的数据库中的 db_owner 角色。 此外,也可由 db_owner 数据库角色或 sysadmin 固定服务器角色中的用户(除 sde 之外)执行升级操作。 |
Dbo 方案 | dbo 用户已经具有在数据库中创建地理数据库所需的权限。 | dbo 用户已经具有升级所需的权限。 此外,也可由 db_owner 数据库角色中的用户执行升级操作。 |
多空间数据库(始终为 sde 方案) | NA;从 ArcGIS 10.1 开始,用户不能创建多空间数据库地理数据库。 | 必须由 sysadmin 固定服务器角色中的用户(除 sde 之外)升级地理数据库。Sysadmin 用户具有升级所需的权限。 |
其他权限
以下功能需要在地理数据库中具有其他权限:
- 要删除地理数据库连接,必须将 sde 方案地理数据库中的地理数据库管理员(sde 用户)添加到 processadmin 固定服务器角色,并向其授予数据库的 VIEW DEFINITION 权限。创建企业级地理数据库地理处理工具会将此角色和权限授予 sde 用户。可以在创建地理数据库后撤销此权限并将用户从 processadmin 角色中移除,但执行此操作后 sde 用户无法将用户从地理数据库断开。
- 如果要使数据创建者能够查看数据库中现有的用户和角色,则必须授予创建者该数据库的 VIEW DEFINITION 权限。(使用创建数据库用户地理处理工具创建的用户会被自动授予此权限。)
- 必须为所有将要拥有 XML 列的用户授予对于用于建立 XML 列索引的全文目录的 REFERENCES 权限。
- 如果要更改地理数据库配置来在地理数据库中使用共享日志文件表,则所有用户都需要在数据库中具有 CREATE TABLE 权限。