ArcGIS Enterprise + SQL Server (NON Enterprise geodatabase)

2133
8
09-23-2020 03:02 AM
TonyCollins
Occasional Contributor

Hi,

Hopefully a quick question, can ArcGIS Enterprise use a standard SQL Server to access spatial tables (e.g. using geometry/geography) or does it have to be an Enterprise Geodatabase that the data is read from?

If it is possible, are there a lot of reasons you would not do this?

*The reason I ask is publishing to a Geodatabase requires ArcPy which requires desktop/ArcGIS Pro which we are unable to run (as far as I know) in a Databricks cluster. 

Thanks for any help/direction

8 Replies
George_Thompson
Esri Frequent Contributor

Yes, you can publish directly from a non-Enterprise Geodatabase to ArcGIS Enterprise; Databases and ArcGIS—ArcGIS Pro | Documentation  There are some limitations to the RDBMS and functionality that can be performed without the geodatabase configured:

You can connect to spatial or nonspatial data in a supported database from ArcGIS Pro to do the following:

If you are going to have to edit you will need to follow this guidance in non-Enterprise Geodatabases

Edit data

You cannot connect directly to most supported databases* from ArcGIS Pro and edit the data. To edit database data, you must publish it.

If you have a GIS Server site federated with an ArcGIS Enterprise portal, publish a web feature layer that references your source data. This creates a feature layer item in the portal that you can share with groups whose members need to edit the data. Set the level of editing you want to allow through the web feature layer.

Hope that helps!

GeodatabaseManaging Data

--- George T.
0 Kudos
TonyCollins
Occasional Contributor

Hi George, Thanks for responding. 


I don't think I explained what I am trying to do very well.

I have ArcGIS Enterprise (Portal+Server) and I wanted to know if the published Map Services could use spatial data from a non-Enterprise Geodatabase (An out of the box SQL Server).

So basically I would like to run ArcGIS Enterprise without an Enterprise Geodatabase being involved at all, but host the data in a SQL Database. 

Does that make sense? Might seem a weird question, but it's all due to the limitations of needing ArcPy.

Thanks

George_Thompson
Esri Frequent Contributor

Hi Tony,

You can use non-geodatabase data (spatial / non-spatial) within the ArcGIS Enterprise, but would need a publishing client (i.e. ArcGIS Pro) to create the service. I am not sure if it can be done without the ArcGIS client at all.

I would be surprised if you have ArcGIS Enterprise license and no license for an ArcGIS client.

--- George T.
0 Kudos
TonyCollins
Occasional Contributor

Hi George, 

Yes we are fully licensed to use Desktop/Pro so publishing the map services are fine. Internally we also have many publishing scripts/models using Arcpy to publish to a Enterprise Geodatabase (EGDB).

Unfortunately in our cloud solution the publishing automation processes are unable to use arcpy due to its dependency on the desktop software, so they are unable to write spatial data into an EGDB(Esri).

This is why we are now looking at publishing the data straight into a standard Sql Server environment, but I am wondering what issues we may have in doing so over an EGDB, for example mapservice performance or ArcGIS Enterprise features that might not work? 

Thank you very much for your help

0 Kudos
George_Thompson
Esri Frequent Contributor

If you have a SDDraft (I think it is that file) created of the Map from ArcGIS Pro, you can use the ArcPy that comes with Server to publish the services. Only created the map (as far as I know) cannot be done completely within ArcPy. Introduction to arcpy.sharing—ArcGIS Pro | Documentation 

I would think that you may not get the full capabilities of ArcGIS Enterprise with just SQL data (think of branch versioning, etc.). In terms of performance, that is a tough one to comment on as there are too many variables.

Hope that helps.

--- George T.
0 Kudos
TonyCollins
Occasional Contributor

Hi George, 

Thanks for the info on Service publishing, if/when we fully migrate to the cloud this will be useful

At this point the Database will just be used for ArcGIS Enterprise so I guess we're going to need to test performance and also look at if/what services might absolutely need an Esri data store (like an EGDB) as network datasets just popped into my head


Thank you 

0 Kudos
George_Thompson
Esri Frequent Contributor

Yep, if you are using any advanced geodatabase functionality (feature datasets, topology, Utility Network, etc.) then it will have to be a Geodatabase.

--- George T.
TonyCollins
Occasional Contributor

Thank you for all your help George that's great

0 Kudos