My organization is upgrading the ESRI environment to Desktop 10.2.2 (better late than wait for 10.3 - I guess) and upgrading all ArcSDE Geodatabases in coordination with this software upgrade. Users are almost all currently at 10.1. Desktop, with about 150 installations of Basic and Advanced. All installs are pointing at two enterprise-wide ArcSDE geodatabases that run on an MSSQL 2005 cluster. We are going to move the geodatabases to another MSSQL instance, 2012, and the procedure for moving and upgrading the databases themselves is straightforward. However we don't know what the impact of moving the data sources will be for 150+ staff who've got probably at least 10 ArcMap projects each pointing at the current geodatabase location. We know that just replacing the Database Connection file (.sde) with new ones set to the new database location, will not affect the data source already embedded in the .mxd file. We know that there is a "set data sources" dialog that lets you globally change a data source path within a project. This would be a manual process in which each user opens every .mxd and applies the changes. Maybe that's not so painful after all since they may be able to apply the changes on an as-needed basis. But given the number, locations, and skill levels of the entire user community, I'm looking for a way to minimize the time and effort it takes to get the new data sources working for them.
Is there any other way to automate or streamline the task of updating potentially hundreds of data source paths for many users? If automation is not really an option what is the best way to perform this type of user environment change? Any suggestions or experiences you would like to share?
thanks!
Is the database server going to change as well?
Python scripts can be used to update the data sources of all the MXDs together if you want that.
Yes, the database server will change, we have to migrate all Geodatabases from SQL 2005 or 2008 to 2012 and this will require putting them on a new clustered environment.Thank you for suggesting the use of Python.
Esri Support says: You can automate this using the arcpy.mapping python module. Refer to the following Web Help on the arcpy.mapping module as well as the arcpy mapping tutorial:
this is a good start, we have an analyst working on it now.
thanks!