通过为登录帐户和组指定预定义的角色来控制数据库服务器上地理数据库和数据集的使用权限。这里的登录帐户或组是指用于标识用户的已通过 Windows 身份验证的登录帐户;角色用于定义用户可以执行的操作。
下面列出了可为登录帐户和组指定的预定义角色及可能的权限:
- 无 - 未授予对地理数据库或地数据库中的数据集任何特定的访问权限。
- 只读 - 用户只能查看和选择数据。
- 读/写 - 用户可以在地理数据库中读取、写入和创建新数据集,也可以读取和写入现有数据集。
- 系统管理员 - 用户可以在特定的地理数据库中执行管理任务。
- 服务器管理员 - 此用户可管理数据库服务器。
权限可以累积。如果您是数据库服务器级别的管理员,那么您也是地理数据库管理员。如果您是地理数据库管理员,则会自动具有对该地理数据库中所有数据集的读/写权限。
以下介绍了可以指定权限的每个级别。
数据库服务器权限
可在数据库服务器级别设置的唯一权限是服务器管理员权限,您要么是服务器管理员要么就不是。
在启用 SQL Server Express 实例来存储地理数据库的设置过程中,会将 Windows 登录帐户添加到数据库服务器中。此时,即为登录帐户指定了服务器管理员角色。之后,便可从 ArcGIS for Desktop 的数据库服务器快捷菜单中访问数据库服务器权限。
服务器管理员可执行以下任务:
- 将用户添加到数据库服务器以及从中移除用户。
- 管理地理数据库和用户安全性。
- 创建和删除地理数据库。
- 附加和分离地理数据库。
- 备份和还原地理数据库。
- 升级地理数据库。
- 压缩地理数据库。
- 更新地理数据库中的统计数据和索引。
- 收缩地理数据库。
- 启动、停止和暂停数据库服务器。
通常,只有一名数据库服务器管理员。
以下是数据库服务器权限对话框的一个示例。已将登录帐户 ROCKETJAY\har 添加到服务器管理员角色。
地理数据库权限
当通过目录树的“数据库服务器”节点访问地理数据库时,可从地理数据库快捷菜单访问地理数据库级别的权限。
此级别的权限最初由服务器管理员授予并使用角色进行管理。下面列出了可为用户指定的可能角色:
- 只读 - 此角色允许用户从地理数据库的每个表中进行选择。
- 读/写 - 指定为“读/写”角色的用户可对所有现有数据进行选择和编辑,还可以创建新的地理数据库对象,如要素类。如果为用户指定了地理数据库级别的读/写权限,则无法更改此用户在数据集级别的权限,而是会自动具有读/写权限。
- 系统管理员 - 指定为系统管理员角色的用户只在对应的数据库上具有管理员权限。这意味着此用户对该地理数据库中的所有数据集都具有读/写权限,并且无法在数据集级别撤消这些权限。例如,您无法在数据集级别打开权限对话框为此用户选择数据集的只读权限。
除了对地理数据库中的数据集具有读/写访问权限外,地理数据库管理员还可对地理数据库执行管理任务,包括创建地理数据库备份、压缩地理数据库、升级地理数据库以及管理其他用户的地理数据库权限。(用户必须已在数据库服务器中存在;地理数据库管理员无法将用户添加到数据库服务器。)
- 其他用户角色选项为无。在这种情况下,用户不具备地理数据库级别的权限。不过,仍可为此用户授予特定数据集的“只读”或“读/写”权限(如“数据集权限”部分所述)。无是用户被添加到数据库服务器时为其授予的默认地理数据库权限级别。
在以下地理数据库权限对话框示例中,将登录帐户 ROCKETAY\pllama 添加到了地理数据库历史的“读/写”角色。
有关服务器管理员和地理数据库管理员的详细信息,请参阅数据库服务器管理员。
数据集权限
可通过数据集快捷菜单上的权限命令访问数据集权限,该命令会打开权限对话框。通过数据集级别的权限对话框获得的可能数据集权限有“只读”、“读/写”和“无”。
用户可能不具备地理数据库级别的权限(“无”),但仍可为其授予地理数据库中特定数据集的读权限或读/写权限。例如,您可能希望为分析组中的用户指定地理数据库的只读权限,而为其授予地理数据库中某个特定要素类的读/写权限。
当用户创建一个数据集(如一个表)时,此数据集即被该用户拥有并被视为该用户的方案的一部分。地理数据库中数据集的用户权限只能由数据集的所有者进行设置。
服务器管理员创建的数据集将由 dbo 拥有并存储在 dbo 方案中。因此,服务器管理员可对 dbo 方案中的任何数据集进行授权,但只能对 dbo 方案中的对象进行授权。也就是说,服务器管理员不能对非管理用户所拥有的数据进行授权。
以下是名为 firestations 的数据集的数据集权限对话框的示例:
要了解如何将这些角色分配给用户并由此授予或撤销权限,请参阅更改权限。