Hi everyone,
I am currently developing a Console Host application for scheduled data synchronization using the ArcGIS Pro SDK. My environment is an Enterprise Geodatabase on MSSQL Server.
I am facing a significant performance bottleneck when using RowCursor and Row.Store() to update approximately 240,000 records. Currently, the process takes about 3 hours, which is far too slow for our production requirements.
Here is the context of the Feature Class:
Storage: MSSQL Server (SDE).
Versioning: Non-Versioned.
Archiving: Disabled.
Editor Tracking: Enabled.
Services: This Feature Class is published as a Map/Feature Service.
My Requirements:
My Questions:
Given that the data is Non-Versioned, is it safe to perform these attribute updates using direct MSSQL UPDATE statements instead of the SDK's Row.Store()?
Since Editor Tracking is enabled, I understand I would need to manually update the tracking fields (editor/date) via SQL. Are there any other hidden system tables I should be aware of?
What is the impact on the published services? Will the service instances recognize the changes immediately, or do I need to restart the services/clear caches after a direct SQL update?
If anyone has experience handling large-scale attribute updates in an SDE/MSSQL environment, I would greatly appreciate your insights or any alternative high-performance patterns within the SDK (e.g., specific batching techniques).
Thanks in advance!