J'ai une géodatabase fichier ESRI (v10) qui est publiée sur un service de carte de serveur arcgis. Lorsque le service est en cours d'exécution, la fGDB est verrouillée. Dois-je arrêter le service pour obtenir une sauvegarde propre? Ou, existe-t-il un moyen d'effectuer une sauvegarde via un script arcpy ou via le catalogue? J'utilise actuellement Windows Robocopy pour transférer le fGDB sur un lecteur de sauvegarde. Voici la sortie montrant les fichiers verrouillés:
New File 0 Bikepaths.CFP0026.4968.5140.sr.lock
New File 0 BuildingFootprints.CFP0026.4968.5140.sr.lock
etc...
la source
xcopy
(ou xxcopy ), en ignorant les échecs, puis compacte le résultat. Ce n'est pas la meilleure solution car une classe d'entités verrouillée à cause d'une session d'édition pourrait être corrompue, mais ce n'est pas différent d'un lecteur miroir / miroir.Nous avons plusieurs applications Web de production à haute utilisation qui s'exécutent sur des FGDB sur le backend. Les FGDB sont effacées et reconstruites avec des données fraîches tous les soirs. Nous avons une application de console .NET que j'ai écrite qui est basée sur AGSSOM qui arrête les services pendant l'exécution du processus de mise à jour. Consultez AGSSOM, c'est assez lisse. Voici quelques-uns des C # que j'utilise pour faire une sauvegarde du FGDB actuel avant de le souffler:
Il utilise simplement Directory.CreateDirectory et FileInfo.CopyTo pour copier le FGDB - Windows voit le FGDB comme juste un autre dossier. Fonctionne comme un champion. Ensuite, une fois le processus de mise à jour terminé, nous redémarrons les services à l'aide de l'application basée sur AGSSOM.
la source