I am using ArcGIS Server 10.5.1
I was under the assumption that by un-checking "Lock Database Schema" under the service parameters I would be able to make schema changes to the source data (add a domain).
I am finding out this is not true (or I am doing something incorrect).
I have a service running and want to add a domain to a specific field but there are locks on it (server).
I have to stop the service , add the domain then restart the service. is there a better way to accomplish this?
Robert is correct. The best practice would be to stop the service and then make the modifications. This helps ensure that consumers of the service will not be adversely affected. However, it is possible to disable this option as you mentioned above. If you take a look at the documentation -- Disable schema locking on a map service—ArcGIS Server Administration (Windows) | ArcGIS Enterprise you will notice that it mentions:
Even when you disable schema locking in a map service, other ArcGIS applications and services may still be able to obtain exclusive locks to the schema. If you are unable to update the schema of the dataset after disabling schema locking, see Schema locking. This topic contains information that can help you understand how locks may be preventing you from updating the schema.
This may be what you are running into. I encourage you to look into this to verify.
Our organization is currently in the process of migrating to Portal. We are taking the opportunity to completely redesign our system. Particularly for just such reasons as this discussion.
We have services spun up left and right. A lot of them. We are currently mapping them out to see which web maps are using which services and what would be affected by turning this or that one off.
We are pondering several options. Group services by Feature Dataset, group them by function. i.e. Transmissions, 700 MHz, Substations, etc...
We even thought about the idea of spinning each feature class up as its own service. But discarded that quickly.