I just finished installing a Workgroup Geodatabase(SQL Express 2012 installation) on ArcGIS Server 10.4.1 on Windows Server 2012. I have uploaded some feature classes in the database and I can see the feature classes on Arcmap and ArcCatalog. When I create a map and publish a service from the Layers, I do not have any issues and they seem to publish just fine. However, when I try to access the service, I do not see the map from rest services drectory as well as ArcCatalog. I do see the Service name and all the associated properties. I also have Portal installed and have made the layer accessible to public as I realized the layer had private permissions initially and thought that was the issue.The database is registered in ArcGIS Server as a registered data source and successfully tested and verified.
The Same Feature Classes are also inside a replicated database in a standalone enterprise version of SQL 2008 database. When I use that data and publish to the server, . I can see the map from both ArcCatalog and Arcmap as well as the rest services directory.
My educated guess is permissions issue to the SQL Server Express. I am not sure how to add appropriate permissions if that is the issue or wondering if there is something else I am missing. I cannot use the enterprise SQL for production because we only have license for Workgroup.
Any help would be greatly appreciated.
I am using ArcMap/ArcCatalog 10.4.1, Workgroup Geodatabase(SQL Express 2012), SSMS 2012, ArcGIS Server 10.4.1, Portal for ArcGIS 10.4.1
you have data in your Geodatabase and able to see in arc map
then some thing wrong with map publishing..
Tutorial: Publishing a map service—Documentation | ArcGIS for Server
check above link for help.
Does not seem to be the issue. When I do a preview before publishing, I can see the map just fine. The service name is also there after publishing. It is a SQL Express Workgroup Geodatabase and I feel like it is issue with database permissions for users other than admin.
I would double check that the arcgis server user account has permissions on your instance/geodatabases.
In ArcCatalog, right click on your SQL Express instance => Click Permissions
Make sure your ArcGIS Server account (default is arcgis, unless you changed it during ArcGIS Server Installation) has been added to the sqlexpress instance:
In my case, my machine is ABROWN10. SO my account is ABROWN10\arcgis (top entry)
On your databases, right click => administration => Permissions
Switch the newly added arcgis server account to read/write. Republish your services and see if they return information through ArcGIS Server.
Let me know if that works or if you already have those permissions.
I removed all existing permissions and gave arcgis Server account read/write permissions as you mentioned. I then republished my service and still I get the same results. The layers seem to draw fine during the preview stage of publishing service. The database is also registered to the Server as a data source. After publishing, I can see the Service data by going to the rest services directory including the database table and layer id the service is referring to. I checked the logs on the server manager and it has given severe warning regarding database access.
Ok I found out root of the problem. The SQL express tables were populated through replication from a Master SQL Server Enterprise database using snapshot replication built into SQL server and for some reason replicated tables will not register into the Geodatabase properly using this approach. However, all the replicated tables show up inside the Geodatabase and support all operations except the problem after publishing that I was having. When I imported tables from the master database using import Feature Class tool in ArcCatalog and published, it worked fine.
Thank You all for your help.