Eu tenho um geodatabase de arquivo ESRI (v10) publicado em um serviço de mapa do servidor arcgis. Quando o serviço está sendo executado, o fGDB está bloqueado. Preciso interromper o serviço para obter um backup limpo? Ou existe uma maneira de executar um backup através de um script arcpy ou através do Catalog? Atualmente, estou usando o robocopy do Windows para transferir o fGDB para uma unidade de backup. Aqui está a saída mostrando os arquivos bloqueados:
New File 0 Bikepaths.CFP0026.4968.5140.sr.lock
New File 0 BuildingFootprints.CFP0026.4968.5140.sr.lock
etc etc...
fonte
xcopy
(ou xxcopy ), pulando as falhas e compactando o resultado. Não é a melhor solução, pois uma classe de recurso bloqueada por causa de uma sessão de edição pode ser corrompida, mas isso não é diferente de uma unidade de sombra / espelho.Temos vários aplicativos da Web de produção de alto uso que são executados em FGDBs no back-end. Os FGDBs são eliminados e reconstruídos com novos dados todas as noites. Escrevemos um aplicativo de console .NET que escrevi baseado no AGSSOM que interrompe os serviços enquanto o processo de atualização é executado. Confira AGSSOM, é muito liso. Aqui estão alguns dos C # que eu uso para fazer um backup do FGDB atual antes que eu o exploda:
Ele apenas usa Directory.CreateDirectory e FileInfo.CopyTo para copiar o FGDB - o Windows vê o FGDB como apenas outra pasta. Funciona como um campeão. Depois que o processo de atualização estiver concluído, reiniciaremos os serviços usando o aplicativo baseado em AGSSOM.
fonte