ArcGIS Server 10.1+:
Puede hacer esto, sin embargo, no hay una funcionalidad lista para usar para esto. La información sobre qué clases de entidad se utilizan (y de qué archivos de base de datos provienen) no se expone a través de ArcGIS Server Manager / Services Directory / REST Admin.
Sin embargo, esta información se almacena como metadatos de servicio dentro de la C:\arcgisserver\directories\arcgissystem\arcgisinput\ServicePaths.MapServer\extracted
carpeta en el manifest.xml
archivo (hay .json y .xml). El archivo .Xml contiene información más detallada, recomiendo analizar este archivo (pero puede comenzar con .json primero para tener una idea).
Dos etiquetas que debe mirar en el archivo .xml son <Name>ServicePaths</Name>
: nombre del servicio y varias <OnPremisePath>C:\GIS\Temp\test.gdb\StopsSandiego</OnPremisePath>
etiquetas que contendrán nombres de clases de entidad y su ruta de catálogo / geodatabase.
En cuanto al código, puede usar Python para analizar este archivo .xml, obtener un diccionario con esta estructura:
{str:(tuple)} #data type
{servicename:(featureclasspath)} #pseudocode
{servicename:(fc1,fc2,fc3); servicename1:(fc1,fc2); servicename2:(fc5);...} #pseudocode
Cuando haya terminado con eso, puede escribir una función que devolverá la clave del diccionario (servicename) en función del valor (nombre de ruta de clase de entidad que proporcione). Esto le permitirá saber qué servicios debe detener para liberar el bloqueo a la clase de entidad.
ACTUALIZACIÓN Abril de 2016: puede hacer esto con el manifiesto del servicio REST API para el servicio, agregado en ArcGIS Server 10.1 SP1:
http://localhost:6080/arcgis/admin/services/Parks/Landmarks.MapServer/iteminfo/manifest/manifest.%format%
donde %format%
es json
oxml
Aquí hay una publicación con respuesta completa: script de Python para imprimir las clases de entidad que hacen referencia a los servicios de mapas de AGS
ArcGIS Server 10.0:
Vaya C:\Program Files (x86)\ArcGIS\Server10.0\server\user\cfg
y abra el archivo .cfg asociado con su servicio. Busca la <FilePath>
etiqueta. Ahora puede iterar a través de todos los archivos .cfg en esta carpeta con Python y obtener información sobre qué archivos .mxd se usan y, dado que tiene acceso al .mxd, puede obtener la ruta de origen de datos de cada capa y, por lo tanto, los nombres de las clases de entidades.
<ServerObjectConfiguration>
<Description></Description>
<Properties>
<FilePath>D:\temp\TempService.mxd</FilePath>