AnsweredAssumed Answered

I am receiving Error 001487 when attempting to publish on a newly create enterprise GDB. Help!

Question asked by mattbeal on Apr 25, 2018
Latest reply on Jun 20, 2019 by jfournier

This is an entirely new world that has been completely thrust upon me (although I'm enjoying the challenge) so if say something completely stupid, please forgive me.


I am trying to create a new enterprise geodatabase on our sql server. This was set up 4+ years ago, and has not been modified since. The guy who previously handled this side of the GIS work left, and it is now up to me to figure it all out. First off, a little bit about how we are setup. We have two machines, SQLSERVER and MAPSERVER. SQLSERVER is a virtual machine that houses our sql databases. MAPSERVER is a virtual machine that houses our installation of server for arcgis.


Now I will attempt to take you through the my workflow in creating the database and along the way, introduce the problem we are having. First thing I did on my local PC (MYPC for the sake of this post) is to open catalog and run the *Create Enterprise Geodatabase* tool. For the database platform, i have SQL_Server, obviously. Instance is SQLSERVER. I name the database MYDB. Operating System authentication is **checked** (That is how all of our existing and functional databases are setup). Sde Owned Schema is **unchecked**. For the authorization file, I found the keycodes file located on MAPSERVER (where server for arcgis was installed). I copied that to the dekstop of MYPC for ease of access in running this tool and the ESRI workflow indicated that you could. All other options in the tool are blank because they became grayed out once the Operating System Authentication was checked and the Sde owned schema was unchecked. At this point I ran the tool and the database was created successfully.


I logged into SQLSERVER at this point and opened up SQL Server Management Studio (2012) went to Security>Logins>SQLSERVER\arcgis user>right click properties>User Mapping. Once there, I mapped the newly created database, and added the role of db_datareader and db_datawriter.


Finally I went to register the data store with our server. I did so using catalog for arcgis as I never could get it to work with server manager. The data store registered successfully and a green check mark appeared beside it.

I thought that was mission success, however it was not. Once I loaded a new feature dataset onto the new enterprise geodatabase, applied privileges to SQLSERVER using Catalog>Manage>Privileges>SQLSERVER/arcgis.  I was ready to publish it. I used the arcmap>file>share as...>service>and went about configuring the service in the desired way. I then attempted to publish it but got the following error message.


As instructed, I went and scoped out the server log. It had the following errors in addition to the one from the picture above:


  • Failed to create the service.: Updating the server connection string for layer MYDB.DBO.TESTFC failed. Attempted connection string was SERVER=SQLSERVER;INSTANCE="DSID=176592f6-f812-4fe7-a526-b41k8ee1bafa";DBCLIENT=sqlserver;DB_CONNECTION_PROPERTIES=SQLSERVER;DATABASE=MYDB;VERSION=dbo.DEFAULT;AUTHENTICATION_MODE=OSA. Table name is MYDB.DBO.TESTFC. Please verify the data exists on the server.
  • DoAfterSDExtraction failed 
  • SwizzleService failed


The server log makes it sound like the data does not exist. I have verified that it does however, through seeing it in both Catalog and SQL Server Management studio. The data is 100% there. It just isn't seeing it for some reason. I have tried redoing the process numerous times and have met gotten the same result every time. It has to be something I did wrong in creating this new database because all of our existing ones still publish services just fine.


So that is where I am currently at. I have spent the last two days trying to figure this out. I figured I would check with you guys rather than continuing to beat my head against the wall. For those of you that stuck around and read all of this, I really appreciate it!