Can I edit a native SQL Server layer in ArcMap

02-23-2017 10:20 PM
Occasional Contributor III

Hi Peoples,

One of our Divisions is using SQL Server to store data in the native spatial format.

Can this be edited directly with ArcMap?

Do I need to install ArcSDE (create the Geodatabase) to enable editing with ArcMap. 

If the data is already in the database - do I have to register it with the Geodatabase?

Anyone got the references to how to approach this?

Anyone know if there are any gotchas in relation to data created via another app, then edited in ArcMap?

I have a feeling the user created the data with MapInfo, and may plan to attempt to edit in both - which has the potential to go pair shaped if you ask me.



Tags (2)
8 Replies
MVP Frequent Contributor

Sorry, can't help you with your query but definitely agree with this :

"which has the potential to go pair shaped if you ask me"

0 Kudos
Occasional Contributor


 We won't be able to edit the SQL server data in ArcMap. If we will add data SQL server data in Table of content and try editing it, following error will be encountered in ArcMap:

"no editable layer"
"the workspace containing this data can not be edited"

>>Now to resolve this issue we can try following:

1. You can register the database as geodatabase and can edit the data in ArcMap.
For that you can use "enable enterprise geodatabase" tool.

Here is a link for reference:

Enable Enterprise Geodatabase

To enable enterprise geodatabase we need keycodes or authorization file. For that we need ArcGIS for server enterprise license.

2.In Arcmap, you can import or copy/paste the data from sql server database to file geodatabase -> perform editing -> import it back in SQL server database.

Also, I would appreciate if you could have a look at the below link:

by Anonymous User
Not applicable

-> I have a feeling the user created the data with MapInfo, and may plan to attempt to edit in both - which has the potential to go pair shaped if you ask me.


Only if you have created an ESRI "geodatabase" you could edit with ArcMap. Additionally, if you want that third party apps. are able to edit a specific layer you will need to register your data as versioned, but using the option "Register the selected objects with the option to move edits to base". Additionally, there are some limitations you should be aware about: 

A quick tour of registering and unregistering data as versioned—ArcGIS Help | ArcGIS Desktop  


Best regards


Jesús de Diego

Occasional Contributor III

Hi Peoples,

My understanding is you need ArcSDE to edit data in SQL Server.



0 Kudos
MVP Esteemed Contributor

You need ArcGIS for Server (or is it just ArcGIS Server now, again?), but you don't necessarily need an enterprise geodatabase.  Although I haven't tested myself, The Evolution of Query Layers blog post indicates that non-geodatabase data can be edited in ArcMap and other clients when published as a feature-access enabled service.  There are important footnotes/caveats.  A couple pieces of information in the blog post are outdated, but overall nearly all of the content remains relevant and accurate.

MVP Regular Contributor

similar thread: Can tables in a non-spatial database be edited in ArcMap 

Databases and ArcGIS—Help | ArcGIS Desktop 

Edit data

If you have ArcGIS Server, you can publish a feature service that contains data from an ALTIBASE, Dameng, IBM DB2 (Linux, Unix, or Windows), IBM Informix, Microsoft Azure SQL Database, Microsoft SQL Server, Oracle, PostgreSQL, SAP HANA, or Teradata database. You can set what type of edits can be made to the data through the feature service and give people access to the feature service so they can edit. See What is a feature service? and related topics in the ArcGIS Server help for more information.

by Anonymous User
Not applicable

Yes.. you are right... but this won't be a "little" more expensive, in terms of licenses?

Jesús de Diego

0 Kudos
Occasional Contributor III

I revisited this recently - it has been a few years and things change.

From what I can see, if you have data in SQL Server native, then you can use ArcGIS Query layers to read the data.  There are a few caveats around having a unique integer ID, field types being compatible and having only one data type per table (point, line or polygon).  Probably issues with coordinate system definitions as well.

To edit the data you need to publish it through ArcGIS Server as web feature layer.  

This is one of the better references:

Databases and ArcGIS