Is branch versioning in Pro compatible with SQLExpress 2012?

2417
14
06-11-2019 08:03 AM
CharlesBailey
New Contributor III

I am working with an SDE database created in Arcmap 10.6.x, which is in a SQLExpress 2012 instance. I am able to set the geodatabase properties to branch versioning in ArcPro 2.3. I have tried both importing data from AGOL and creating a new feature class in the database,  and in both cases the properties of the dataset indicate that the data is branch versioned also. But when trying to share the branch versioned data I receive an error related to the dataset owner. Although I connected and created the data as the 'sa' user, Pro is convinced that dbo is the dataset owner - this even though I enabled the sde schema when creating the database. I have gone to the SQL side and created users that have ownership privileges and also a 'dbo' login, but when those are used the Version Management option is not enabled in the Share tool dialog. I'm no SQL expert for sure but starting to think it might be a compatibility issue - the version of Pro required for branch versioning is not compatible with SQL2012 and fails to create the enterprise database (which is why arcmap 10.6 was used). Can anyone confirm this? If so would there be any other issues with backward compatibility if we install SQL 2016 on our GIS server, since our primary non-spatial database is running on 2012? Thanks, cob

0 Kudos
14 Replies
VinceAngelo
Esri Esteemed Contributor

It's a violation of best practice to load spatial data as the 'sde' login, much the way you shouldn't do software development as 'root' or Administrator.  Instead, create data management logins, schemas that match, and load data as that login.  For example, if I have streets data managed by the Pavement department, I'll create a login called "pavement" and a schema "pavement" then load the data in the production database as "prod.pavement.streets".

Best practice also calls for role creation, with access rights granted by role to the feature classes.  Then normal logins associated with individual department staff members can be granted appropriate roles by resource (GRANT pavement_editor TO bob_smith).  It's also best practice to avoid using data owners in web application connections, so a "viewer_app" login/schema could be created, with an appropriate role (GRANT pavement_viewer TO viewer_app).

- V

0 Kudos
CharlesBailey
New Contributor III

Thanks Vince, that sounds great but we understand SQL server just enough to get ourselves in trouble. We just wanted to test this branch versioning capability to see if it would help the user experience of creating and editing web layer data in ArcGIS Pro, which they complain is slow and flaky and they’re not wrong. All of our data is in AGOL and if we can get this BV layer on our server it will be ported straight to AGOL as well (we have a collaboration between our server and AGOL org account). I don’t even think I understand the word ‘schema’ in this context. To me when we import a dataset it comes with it’s own ‘schema’ which are the attributes and data types, domains, etc. in that single layer. So why do we need another ‘schema’ for the connection in SQL? Maybe that’s too far off topic, but we only need one user to create (import) the data and share it as branch versioned, then it will be linked from our portal to AGOL which is how it will be accessed. Thanks for your detailed answer - cob

0 Kudos
TimMinter
Occasional Contributor III

Based on the information linked below, I have been operating under the assumption that SQL Server 2012 is not supported for use with ArcGIS Pro.  For the Esri folks in this thread, is the documentation incorrect or incomplete?

0 Kudos
CharlesBailey
New Contributor III

It does actually work – databases just can’t be created. I finally got it by jockeying around with the users and schema and also had to use connection files instead of connecting directly through the Pro dialog. The problem now is that the layer in AGOL only allows the admin owner to create versions, no matter who is logged in and even though the layer out of portal is shared publicly. We can’t use Portal directly for access because we only have the 5 level 2 users or whatever they are called now. I was hoping any of the AGOL users could use their login to create new versions but apparently that is not the case? Thanks for your response - cob

0 Kudos
CharlesBailey3
Occasional Contributor II

The problem is that all the versions have the same owner, 'admin' when the AGOL feature service is brought into Pro. So all the users can see all of the versions in the list - what would it take to get around this, so that each logged in user would be able to own their own versions? Thanks, cob

0 Kudos