What's new for geodatabases in ArcGIS 10

New functionality added to the geodatabase at ArcGIS 10 includes improved management of geodatabases, the ability to create layers based on queries on spatial tables in spatial databases, support for new data types in ArcSDE geodatabases, and new one-way replication scenarios.

Geodatabase management

The following improvements were made to help you manage your geodatabase and the connections to it:

Upgrade all types of geodatabases using the Upgrade Geodatabase geoprocessing tool or Python script

Use the Upgrade Geodatabase geoprocessing tool or Python script to upgrade personal and file geodatabases as well as ArcSDE geodatabases licensed under ArcGIS Desktop, ArcGIS Engine, ArcGIS Server Workgroup, or ArcGIS Server Enterprise. (Do not use the ArcSDE Post Installation wizard on Windows or sdesetup command to upgrade an existing geodatabase; these no longer perform a geodatabase upgrade.)

The Upgrade Geodatabase tool includes an option to check that certain requirements are met before you upgrade.

The Upgrade Geodatabase geoprocessing tool

The upgrade process updates existing system tables, functions, procedures, and types and creates new ones when needed. At ArcGIS 10, the geodatabase system tables have changed. Therefore, upgrading to the ArcGIS 10 release creates new geodatabase system tables and moves the existing information into them. The geodatabase upgrades in place; it does not require you to reload your data.

You can access the Upgrade Geodatabase tool from the Database Properties dialog box or directly open it from the Data Management toolbox.

See A quick tour of geodatabase upgrades to get started.

Geodatabase system tables have been consolidated

The geodatabase schema has been restructured for the ArcGIS 10 release, consolidating the information previously stored in the geodatabase system tables into six tables. This is done partly by using XML columns to store information related to the data in the geodatabase.

All new and upgraded file, personal, and ArcSDE geodatabases will have the new geodatabase schema.

To implement this new schema in an ArcSDE geodatabase, the database must be able to use XML columns. Additionally, existing ArcSDE geodatabases must be upgraded using the new Upgrade Geodatabase geoprocessing tool or Python script instead of the Post Installation wizard or the sdesetup command.

Control the storage of geometry and BLOB columns in file geodatabases

When you create a feature class, raster catalog, or raster dataset in a file geodatabase, you have three new options when specifying configuration keywords, each of which store the geometry or BLOB columns out of line. The keywords are GEOMETRY_OUTOFLINE, BLOB_OUTOFLINE, and GEOMETRY_AND_BLOB_OUTOFLINE.

New configuration keywords in file geodatabases

The three configuration keywords provide control over storing data inline or out of line. Storing data inline means all the attributes are in the same file or virtual table in the file geodatabase, while storing data out of line means the attributes are stored in a different file or virtual table.

The new keywords are designed for use with geometry and BLOB attribute types, which have the potential to store lots of data. For example, if your feature class will contain large BLOB attributes, you can specify the BLOB_OUTOFLINE keyword when you create the feature class. The BLOB attribute is only loaded when queried, resulting in better performance.

See Configuration keywords for file geodatabases for more information.

Create an earlier version of a file or personal geodatabase

The Create File GDB and Create Personal GDB geoprocessing tools in the Data Management toolbox have been augmented to include an optional parameter that allows you to specify which version of the geodatabase you want to create. You can create a version 10, 9.3, or 9.2 release file or personal geodatabase. You can also create a version 9.1 release personal geodatabase.

Choose the geodatabase version you want to create.

Being able to create an older release geodatabase from an ArcGIS 10 client allows you to more easily share data with people or agencies who are using older releases of ArcGIS.

Additional geodatabase replication scenarios are supported

The geodatabase replication model has been improved to include one-way replication using archiving and one-way child to parent replication.

One-way replication using archiving

The ability to use archiving instead of versioning to keep track of replica changes has been implemented. This option is only available for one-way replication, and only if the source replica is the DEFAULT version. When archiving is used to track replica changes, no system versions are created. Therefore, the reconcile and post and compress processes are not affected, making version management and replication management independent. This also allows the synchronization schedule to be more flexible. This is a recommended option for one-way replication, since it increases the performance of the synchronization process.

See Replica creation and versioning for more information.

One-way child to parent replication

One-way replication allows data changes to be sent multiple times from the parent replica to the child replica and, starting at ArcGIS 10, from the child replica to the parent replica.

One-way child-to-parent replication works in a manner similar to parent-to-child replication, but in the opposite direction. Here, the data in the child replica is editable, but the data in the parent is considered read-only. If edits are performed on the data in the parent replica, the edits are overwritten if they conflict with edits applied during synchronization.

See Replication types for more information.

Remove and block direct connections to an ArcSDE geodatabase

You can use the sdemon command with the kill operation to drop direct connections to an ArcSDE geodatabase. In previous releases, the kill operation could only be used to drop ArcSDE service connections.

In most cases, the functionality of the DBMS is used to drop the direct connection. The database requires elevated permissions to perform this operation; therefore, the ArcSDE administrator needs additional permissions granted to drop direct connections. See Removing direct connections from a geodatabase for more information.

You can also use the sdemon command with the pause operation to prevent both ArcSDE service and direct connections from being made to a geodatabase.

Situations in which you would want to block new connections to the geodatabase include when you need to restore the database or upgrade the geodatabase, since no users can be connected when you perform these tasks. See Preventing users from connecting to a geodatabase for more information.

Backward-compatible, ArcSDE direct-connect drivers are included with ArcGIS client applications

You do not have to install backward-compatible, direct-connect drivers in ArcGIS Desktop, ArcGIS Engine, or ArcGIS Server to access 9.2 or 9.3 geodatabases; the necessary drivers are present by default.

Connections from older clients to ArcGIS 10 geodatabases are not supported.

The Microsoft SQL Server 2008 Native Client is included with ArcGIS client applications

To make a direct connection to an ArcSDE geodatabase in SQL Server, the client computer must have the SQL Server Native Client (SNaC) installed. At ArcGIS 10, the SQL Server 2008 Native Client is installed with ArcGIS Desktop, ArcReader, and ArcGIS Server to allow you to make direct connections from these clients to a SQL Server 2005 or SQL Server 2008 database.

ArcGIS Engine includes the SNaC on its installation media so you can install it if you need it.

Data management in geodatabases

Create layers based on SQL queries

A new utility, Query Layers, is available in ArcMap that allows you to create new layers or stand-alone tables that are defined by SQL queries. The queries you define are executed each time you use or render the data; therefore, the query returns the data in its current state.


If the query is defined on a versioned feature class in an ArcSDE geodatabase, the query returns the data in the base table; no information from the adds or deletes table will be returned.

You can add Query Layers to the map by defining a query against the tables and views in a database. The result set of that query is then added to ArcMap as a layer or stand-alone table. Map documents containing query layers can be saved and published to ArcGIS server, making Query Layer information available to many of the ArcGIS Server APIs.

Query layers are read only; you can display the data, but editing through Query Layers is not supported.

Query layers behave like any other feature layer or stand-alone table, so they can be used to display data, as input into a geoprocessing tool, or accessed programmatically using developer APIs.

After a Query Layer has been created, it can be saved as a layer file (.lyr) or used to create a layer package (.lpk). This makes it easy to share Query Layers with other applications, map documents, and other users.

Query layers can also be created on spatial data in databases that do not contain a geodatabase. See What is a query layer? for more information.

Six topology rules have been added

Six topology rules have been added to the collection of rules that allow you to model the spatial relationships of your data. The rules are as follows:

  • Polygon: Contains One Point
  • Line: Must Not Intersect With
  • Line: Must Not Intersect or Touch Interior With
  • Line: Must Be Inside
  • Point: Must Be Coincident With
  • Point: Must Be Disjoint

See Geodatabase topology rules and topology error fixes for a description of topology rules.

The New Geometric Network Wizard is streamlined, and a new command is available to load features into a geometric network

The New Geometric Network Wizard has been redesigned and streamlined to make creating geometric networks easier.

A new command called the Geometric Network Incremental Loader has been added, which allows you to load data into a geometric network easier and faster than through traditional means. The command is designed for the addition of a large amount of features to an existing geometric network within a given area. You can customize a toolbar by adding this command to it. See Loading new features into your geometric network for instructions.

Vertical lines can be stored in z-enabled feature classes

You can create vertical lines in z-enabled feature classes. These lines have identical x- and y-coordinates but different z-coordinates.

You can create vertical lines in ArcMap by specifying a z-coordinate for vertices that have identical x- and y-coordinates. To do this, open the Edit sketch properties dialog box and type the z-coordinate.

Edit sketch properties dialog box


When creating lines, be sure to specify the z-value for a vertex before you finish the sketch. Completely coincident vertices (those that have the same x-, y-, and z-coordinates) are removed from the sketch when you finish it.

This is one way to edit z-values. See Editing a vertex's z value...using the Edit Sketch Properties window for more information. You can also use the Vertical tool or Duplicate Vertical command of the ArcGIS 3D extension to create vertical lines. See Creating a vertical line segment or Duplicating existing features vertically for instructions on these methods.

Support is added for new data types in ArcSDE geodatabases, and existing data types have been enhanced

ArcSDE 10 geodatabases support four new data types: ST_Raster (supported in Oracle, PostgreSQL, and Microsoft SQL Server), native DBMS XML types (supported in IBM DB2, Oracle, PostgreSQL, and SQL Server), and varbinary(max) and datetime2 in SQL Server.

Additionally, you can migrate raster data from binary to ST_Raster and spatial data from binary to SQL Server geometry or geography types.

A new SQL data type for rasters is available

A new raster storage type, ST_Raster, is available in ArcSDE geodatabases in Oracle, PostgreSQL, and SQL Server. This type allows you to alter and obtain information about raster data using SQL. For more information on the ST_Raster type, see What is the ST_Raster storage type?.

To use ST_Raster storage, you must first install it in the geodatabase. See Installing the ST_Raster type in Oracle, Installing the ST_Raster type in PostgreSQL, or Installing the ST_Raster type in SQL Server for instructions.

Once installed, specify a configuration keyword that contains the RASTER_STORAGE configuration parameter set to ST_RASTER when the raster data is created or imported to the geodatabase.

New functions have been introduced to allow you to work with the ST_Raster type using SQL. These functions view or manipulate properties of ST_Raster or ST_PixelData values. For a list of available SQL functions, see the ST_Raster SQL functions table in A quick tour of SQL functions used with ST_Geometry and ST_Raster types.

You can migrate existing raster data to the ST_Raster type using the Migrate Storage geoprocessing tool or the sderaster administration command.

Native XML columns are supported in geodatabases in DB2, Oracle, PostgreSQL, and SQL Server

ArcSDE supports the use of native XML columns in geodatabases in DB2, Oracle 11g, PostgreSQL, and SQL Server databases.

Twelve ArcSDE C API functions have been added to allow you to work with these columns.

You can use the functionality available in the DBMS or the ArcSDE API to create XML schemas to validate XML documents against a set of constraints that you define. XML schemas are supported in DB2, Oracle, and SQL Server. See XML schemas in ArcSDE geodatabases for more information.

New DBTUNE parameters have been introduced to let you control the storage of native XML columns. See the XML sections of the following topics for details on these new parameters:

Varbinary(max) and datetime2 columns are supported in geodatabases in SQL Server

Microsoft has deprecated the Image type in SQL Server. When creating new datasets in an ArcSDE geodatabase for SQL Server, columns that would have been created as an Image type in previous releases are now created as varbinary(max) columns. Examples of columns that will use varbinary(max) instead of image columns include binary geometry and raster columns.

New date columns created in ArcSDE geodatabases in SQL Server 2008 use the datetime2 data type. Datetime2 can store dates as early as 01/01/0000, whereas the earliest date you can store with a datetime field is 01/01/1753.

Migrate binary geometry to SQL Server geometry or geography types

You can use the Migrate Storage geoprocessing tool or Python script or the sdelayer command to change the geometry storage of a feature class from SDEBINARY or OGCWKB format to SQL Server geometry or geography data types. To do so, you must specify a configuration keyword that contains a GEOMETRY_STORAGE parameter set to either GEOMETRY or GEOGRAPHY.

Parametric circles and ellipses are supported with the ST_Geometry type in Oracle and PostgreSQL

The ST_Geometry storage type in geodatabases in Oracle and PostgreSQL can now store parametric circles and ellipses.

When you create circles and ellipses through ArcSDE C or Java APIs or SQL and store them in the ST_Geometry type, the geometries are stored as parametric representations, which are more accurate and take up less space in the database.

The ST_Geometry SQL function also has parameters that allow you to generate a circle or ellipse.

See Parametric circles and ellipses for more information.