SQL Server 中地理数据库的用户权限
本主题下的各表将列出以下普通类型的用户至少需具有的数据库权限:数据查看人员、数据编辑人员、数据创建人员和地理数据库管理员。
第一张表指出了每种用户类型所需的最低用户权限。
第二张表列出了创建或升级地理数据库所需的权限。
此外,最后一部分列出了各种地理数据库相关功能所需的可选权限。
您可以使用 Management Studio 管理用户数据库权限。也可使用 Transact SQL 语句来授予和撤销权限。
应由数据集所有者使用 ArcGIS for Desktop 中提供的权限 对话框或更改权限地理处理工具授予或撤销数据集权限。有关说明,请参阅授予和撤消数据集的权限与更改权限。
默认情况下,将为公共数据库角色授予数据库的 CONNECT 权限。如果撤销公共数据库的此权限,则需要向特定角色及/或用户明确授予数据库的 CONNECT 权限。
最低权限
用户类型 |
数据库权限 |
数据集权限 |
备注 |
---|---|---|---|
数据查看人员 |
SELECT |
如果您有权读取数据库中的所有表,则可为用户指定 db_datareader 数据库角色;否则,授予特定表和视图的 SELECT 权限。 | |
数据编辑人员 |
|
如果您有权编辑数据库中的所有表,则可将用户分配至 db_datareader 和 db_datawriter 角色,并在数据库级别授予 EXECUTE 权限。 | |
数据创建人员 |
|
拥有数据的任何数据库用户的用户名都必须与其默认方案的名称相同。例如,如果用户名为 simon,则默认方案名称也必须为 simon。如果两者不同,用户将无法创建地理数据库对象(如要素类)。 | |
地理数据库管理员 | 如果地理数据库管理员是名为 sde 的用户并且该用户不会拥有系统对象外的地理数据库中的数据,在创建了地理数据库之后,该 sde 用户仅需能够连接到地理数据库。然而,当地理数据库需要升级或者 sde 用户需要终止连接或查看所有数据库用户时,则需要其他权限。 | 对版本化数据集的 SELECT、INSERT、UPDATE 和 DELETE 权限 |
创建或升级地理数据库的权限
下表列出了在 SQL Server 中创建或升级地理数据库所必须使用的用户和权限。
地理数据库的类型 |
创建地理数据库的用户和权限 |
升级地理数据库的用户和权限 |
---|---|---|
Sde 方案地理数据库 |
sde 用户需要以下权限:
|
必须将 sde 用户添加到要升级的数据库中的 db_owner 角色。 此外,也可由 db_owner 数据库角色或 sysadmin 固定服务器角色中的用户(除 sde 之外)执行升级操作。 注: 版本 10.1 之前创建的名为 sde 的地理数据库将被视为多空间数据库。因此,您必须升级以 sysadmin 用户身份登录的地理数据库。 |
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 权限。
- 必须为所有将使用 ArcSDE API 在数据库中创建 XML 模式的用户授予 CREATE XML SCHEMA COLLECTION 权限。
- 如果要更改地理数据库配置来在地理数据库中使用共享日志文件表,则所有用户都需要在数据库中具有 CREATE TABLE 权限。