How To: Enable row versioning-based isolation in a SQL Server enterprise geodatabase


Row versioning-based isolation levels improve read concurrency by eliminating locks for read operations. Microsoft SQL Server 2008 R2 and later releases introduce two transaction isolation levels that use row versioning:

  • A new implementation of read committed isolation that uses row versioning when the READ_COMMITTED_SNAPSHOT database option is ON.
  • A new isolation level, snapshot, that is enabled when the ALLOW_SNAPSHOT_ISOLATION database option is ON.


When upgrading an enterprise geodatabase to 10.4 in SQL Server, the Upgrade Geodatabase tool automatically sets both of these options in the database.

When creating a new 10.4 enterprise geodatabase in SQL Server using the Create Enterprise Geodatabase tool, the tool automatically sets both of these options in the database.

When using the Enable Enterprise Geodatabase tool to create a new 10.4 geodatabase, it is required to either set these two database options ON in the database before you run the tool, or grant the geodatabase administrator the permission to ALTER the database. If the geodatabase administrator has ALTER database permission, the Enable Enterprise Geodatabase sets READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_ISOLATION to ON in the database.

Using ArcGIS 10.4 with SQL Server databases or 10.3.1 or earlier release geodatabases, requires manually setting READ_COMMITTED_SNAPSHOT to ON in the database.

Related Information

Concurrency and locking
Whats new in ArcGIS