Available with Production Mapping license.
The geodatabase administrator must grant specific privileges to the tables for all users who will be accessing the Esri Production Mapping workspace. This can be accomplished by creating database roles and assigning the roles to the individual users.
Granting permissions
In SQL Server Management Studio, grant permissions to the Production Mapping workspace tables through the schema. The sample script shows how to remove existing members from a role and drop the roles, and re-create the role and assign permissions to the role through the schema.
USE [pmdb]
GO
EXEC sp_droprolemember 'pm_editor', 'giseditor'
GO
EXEC sp_droprole 'pm_editor'
GO
EXEC sp_addrole 'pm_editor', 'pm'
GO
GRANT DELETE ON SCHEMA::[pm] TO [pm_editor]
GRANT EXECUTE ON SCHEMA::[pm] TO [pm_editor]
GRANT INSERT ON SCHEMA::[pm] TO [pm_editor]
GRANT SELECT ON SCHEMA::[pm] TO [pm_editor]
GRANT UPDATE ON SCHEMA::[pm] TO [pm_editor]
GO
EXEC sp_droprolemember 'pm_viewer', 'gisviewer'
GO
EXEC sp_droprole 'pm_viewer'
GO
EXEC sp_addrole 'pm_viewer', 'pm'
GO
GRANT SELECT ON SCHEMA::[pm] TO [pm_viewer]
GO
Verifying roles
The following script will list the roles.
EXEC sp_helprolemember 'pm_editor'
GO
EXEC sp_helprolemember 'pm_viewer'
GO
Verifying role permissions
The following script will list the privileges assigned to the role.
select dp.NAME AS principal_name,
dp.type_desc AS principal_type_desc,
o.NAME AS object_name,
p.permission_name,
p.state_desc AS permission_state_desc
from sys.database_permissions p
left OUTER JOIN sys.all_objects o
on p.major_id = o.OBJECT_ID
inner JOIN sys.database_principals dp
on p.grantee_principal_id = dp.principal_id
where dp.NAME in ('pm_editor','pm_viewer')
GO
Creating an editor user
Users should have their own login names. The example below shows how to create an editor geodatabase user.
Create the editor login.
USE master
GO
EXEC sp_addlogin N'giseditor', 'gis$editor', @logindb, @loginlang
GO
Create the user for the login in the PMDB.
USE [pmdb]
GO
CREATE USER [giseditor] FOR LOGIN [giseditor]
GO
Add the user to the editor role.
USE [pmdb]
GO
EXEC sp_addrolemember N'pm_editor', N'giseditor'
GO
Creating a viewer user
Users should have their own login names. The example below shows how to create a viewer geodatabase user.
Create the viewer login.
USE master
GO
EXEC sp_addlogin N'gisviewer', 'gis$viewer', @logindb, @loginlang
GO
Create the user for the login in the PMDB.
USE [pmdb]
GO
CREATE USER [gisviewer] FOR LOGIN [gisviewer]
GO
Add the user to the editor role.
USE [pmdb]
GO
EXEC sp_addrolemember N'pm_viewer', N'gisviewer'
GO