当编辑和查询数据时,ArcGIS 会对地理数据库中的数据集应用和释放锁。这些锁用于维护数据和版本的一致性,但它们会影响对锁定对象的访问。
在通过 ArcMap 中数据库连接访问的地理数据库管理对话框中,可以查看数据集和版本上活动的锁以及获得每个锁的用户,同时确定哪些用户可能正在阻止您编辑特定的数据集和版本。这会帮助您与其他用户协调编辑进程。
可以查看应用于您所拥有的数据的锁。或者,如果您是地理数据库管理员,则可查看地理数据库中的所有数据和版本锁。这样,管理员便可查看可能正在阻止完成维护任务的连接(例如协调数据、压缩地理数据库或升级)。地理数据库管理员随后可以使用锁列表判断是否可以安全地移除连接以允许这些进程运行。
锁模式
地理数据库锁始终处于以下两种不同模式之一:共享或排它。
共享锁
ArcGIS 会自动获取使用中的单个数据集上的共享锁,例如,当用户编辑或查询要素类或表的内容时。使用该机制可以使其他用户无法对使用中的基础数据集及其方案进行更改。可以在任何时间对单个要素类或表建立任何数量的共享锁。
排它锁
排它锁用于锁定地理数据库中的数据集以防止其他用户使用,以便对数据集进行必要的更改,例如,协调版本。当具有适当权限的用户开始更改地理数据库中的数据集时,ArcGIS 会自动在单个属性表、要素类表、栅格表或其他数据集上建立排它锁。但是,如果该数据集上有共享锁,则无法建立排它锁。
排它锁升级自共享锁,当不再需要时降级回共享锁。一个数据集或版本上同一时间只允许有一个排它锁。
锁类型
企业级地理数据库中有三种不同类型的锁:方案锁、状态锁和版本锁。
方案锁
任何时候在 ArcGIS 中打开数据集时都会获得共享方案锁。当以任何方式修改数据集的方案时,共享方案锁将在方案更改期间从共享锁升级为排它锁。这可以防止其他用户打开数据集时更改数据集的方案,从而在多用户环境下提供一致性。
数据所有者可以查看对其数据所施加的方案锁。地理数据库管理员可查看地理数据库中的所有方案锁。
状态锁
任何时候在 ArcGIS 中打开数据集的传统版本表示时都会获得共享状态锁。
只有地理数据库管理员才能查看状态锁。
版本锁
当启动针对给定传统版本的编辑会话时将获得共享版本锁。当某个传统版本与目标版本协调时,共享版本锁会在协调操作期间升级为排它锁。如果两个用户正在编辑同一个版本,则他们都对该版本保持共享锁。两个用户都无法与目标版本协调(需要排它锁),直到其中一个用户停止编辑,从而释放其对该版本的共享锁为止。
只有地理数据库管理员才能查看版本锁。