[GIS] ArcSDE/SQL Server Permissions

arcgis-10.2arcgis-desktopenterprise-geodatabasesql server

I have an enterprise geodatabase with about 20 users. Each user has a corresponding schema. When in Arc Catalog, if only the owned schema box is checked in SQL Management studio I receive a permissions error in Catalog. However, if both the owned/default schema are selected in addition to the SDE schema, then I have no problem, importing/previewing data.

Additionally, even if SDE is chosen, it grays out, but later becomes un-checked somehow.

For database permissions I have selected create procedure, table, view, and connect.
Roles for each user are configured in SQL Management Studio as db_datawriter.

I am using ArcGIS 10.2.1/SQL Server 2008 R2

This appears when attempting to connect with a certain user where only the user name and schema are alike, no SDE schema is chosen when this message appears.

Best Answer

I suggest using the Create Database User tool and create a test user.

http://resources.arcgis.com/en/help/main/10.2/index.html#//00170000017r000000

Something like:

arcpy.CreateDatabaseUser_management("yourconn.sde", "yourDB", "user", "pass", "db_datawriter")

Then use the Change Privileges tool to add a few privileges to the test user.

http://resources.arcgis.com/en/help/main/10.2/index.html#//0017000000n3000000

Something like:

arcpy.ChangePrivileges_management("dataset", "user", "GRANT", "GRANT")

If this seems to work - check SQL Server Management Studio to see how everything was created. This is what I first did to see how ESRI created everything. I don't even assign a role to our users, but it all depends on what you need. I've since created a Python tool to add new database users and assign/unassign privileges. Other tasks need to be performed in SSMS though.