Esri has received a number of reports from customers that ArcGIS for Desktop 10.4 and 10.4.1 (ArcMap) crashes when opening an MXD with data from a SQL Server-based enterprise geodatabase. The crashes have been reported occurring on both single and multiple database models with SQL Server 2008, 2008 R2, 2012, and 2014. This issue is data-specific to geodatabases having mixed precision data as explained below.
Note: This issue does not impact customers on other databases.
At ArcGIS 9.2, we introduced high precision coordinate storage. This feature enabled our users to 'migrate' their existing basic precision data to high precision data. When a layer was migrated, it got a new spatial reference ID, as well as storing the original spatial reference ID as a secondary reference ID, so we could work with both basic and high precision features.
As a performance enhancement, at 10.4 we introduced a schema cache where, rather than pulling metadata for individual layers when doing something like opening a map document (which slowed performance for users that had thousands of layers) . We built a cache of all layer metadata by scanning the entire sde_layers table.
The bug that is causing these crashes (BUG-000095750) is related to caching the secondary project string of the secondary reference ID.
Users who created their SQL Server geodatabase at ArcGIS 9.2 or later generally will not have mixed precision feature classes, and therefore no secondary reference ID. The exception is that it was still possible after ArcGIS 9.2 to create basic precision data by using the SDE APIs and some SDE command line tools.
Users can check to see if this issue could affect them by issuing the following query to their geodatabase:
select count (*) from sde.sde_layers where secondary_srid is not null
Note: This patch is for version 10.4.1 only, and will not work with version 10.4.