Monday, 22 February 2016

arcgis 10.1 - Copying ArcSDE geodatabase to file geodatabase using ArcPy?


I would like to make an exact copy (domains, feature datasets, feature classes, etc.) of an SDE database to a file geodatabase.


I have tried several possibilities, including:



  1. using the Copy (Data Management) process

  2. creating a new GDB and manually copying each feature dataset from the SDE


  3. exporting an xml workspace document from the SDE and importing it into the GDB


The Copy_management process does not seem like it would work for copying an SDE to a GDB, since the input and output data types must match.


The process of importing each feature dataset into a new GDB could probably be automated using Copy_management as well by iterating through each feature dataset, though it seems this could cause problems of an incomplete copy if there was an error with one of the processes.


Exporting and importing xml workspaces seems to work, though this process creates incredibly large files when the process is used on large geodatabases.


Is there a more straightforward way to copy the contents and schema of an SDE to a GDB than the ways mentioned, in a way that can be automated?


If not, are there any reasons that the above possibilities should not be used in this process?



Answer



The only way you can get a true copy of the data (domains, datasets, relationships, etc) is to use the manual copy and paste method inside catalog. ESRI has not yet given us the ability to transfer this data over any other way with a single operation that can be scripted easily.


I have a nightly process that copies my two primary SDE Databases to file geodatabases for Continuity of Operations. This is so that in the event of an emergency my staff has some data to work with until my IT shop can rebuild my SDE from backup. After much trial and error I have decided we can live with the limitations of using FeatureClassToFeatureClass_conversion and TableToTable_conversion to transfer our data over every night.



Yes, we lose some of the functionality of the geodatabase but it will now run unattended at night and is ready to go as soon as I get it. In my case the only functionality that we are truly missing (assuming operating under an emergency mode) is that my relationship classes are broken because the conversion resets the ObjectIDs that link the two tables.


Until ESRI gives us more options you will have to look at what are you willing to sacrifice at the moment; time and effort or functionality?


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...