Can a database view participate in distributed collaboration?

210
4
2 weeks ago
Joshua-Young
Occasional Contributor III

We use database views to filter datasets and remove fields not needed for the intended users. Can a database view participate in a distributed collaboration using sync instead of reference?

I would like ArcGIS Enterprise (AGE) to sync some database views based feature services to ArcGIS Online (AGO) for public use. I want to use sync instead of reference to keep public traffic off of AGE and to take advantage of scaling in AGO. I made sure that the GlobalID field is include in the view's definition but I get an error saying the data is not configured for sync. I cannot enable Archiving or versioning on the view, but the parent table has both enabled.

"Not all those who wander are lost" ~ Tolkien
0 Kudos
4 Replies
ArchitSrivastava
Occasional Contributor II

Hello @Joshua-Young ,

I would assume that you have published this view and Map Service to ArcGIS. As per my understanding it should work if the collaboration is set to "As Reference", check point 7 in the documentation below:

https://enterprise.arcgis.com/en/portal/latest/administer/windows/create-a-collaboration.htm#ESRI_SE... 

Furthermore, there are more details about sharing layers and views in the following documentation:

https://enterprise.arcgis.com/en/portal/latest/administer/windows/share-content-with-collaboration-p... 

Additionally, I did some testing as I have map services which are created from views as well and created a distributed collaboration. I noticed that the content is shared as expected from a map service (referenced data from EGDB). 

It would be great if you can share more details about the collaboration settings, check portal logs and share it.

You can also find "Sync" detailed logs at Portal Sharing Rest API as shown in the below documentation:

https://developers.arcgis.com/rest/users-groups-and-items/sync.htm 

The error "data is not configured for sync" indicates that it's trying to share it through collaboration as "Copies" which I believe would not be supported.

Hope it helps!

-Archit

 

0 Kudos
Joshua-Young
Occasional Contributor III

@ArchitSrivastava thank you for the information but I am trying to get distributed collaboration with database views working through a copy/sync operation instead of using a reference. Based on my further testing yesterday, I do not believe it is possible for a database view to participate in a sync operation.

Looks like I will be publishing copies of the database views to AGO instead and use a scheduled python script to overwrite the data on AGO. Distributed collaboration would be great if it was not so limited.

"Not all those who wander are lost" ~ Tolkien
0 Kudos
DavidHoy
Esri Contributor

Hi Joshua,
maybe you could consider creating a Materialized View (MV) in your SQL Server and register that as a feature class and use it in your map source?
One potential problem with this approach may be that any update in your source tables may trigger a complete refresh of the entire MV and that would then result in a full upload to AGOL each time the MV was refreshed.

0 Kudos
ArchitSrivastava
Occasional Contributor II

Hello @Joshua-Young,

The services published through database views would not allow us the capability for the below reasons:

Furthermore, even if I "Register with Geodatabase" these capabilities would not be available as they are not supported on a view. Kindly find some screenshots below:

ArchitSrivastava_0-1714280736791.png

ArchitSrivastava_1-1714280860844.png

I tried to do some digging from SQL Server side itself and it doesn't seem possible, below is the documentation set I am trying to research from:

https://learn.microsoft.com/en-us/sql/relational-databases/views/views?view=sql-server-ver16 

Furthermore, I think the solution you have may be the only way.

Hope it helps!

0 Kudos