Предоставление прав доступа для компонентов рабочей области проверок в SQL Server

Администратор базы геоданных должен наделить специальными правами доступа таблицы пользователей, которые будут обращаться к рабочей области проверок. Это можно выполнить созданием ролей и назначением этих ролей отдельным пользователям.

ПримечаниеПримечание:

При копировании и вставке примеров могут возникнуть синтаксические ошибки.

Предоставление прав доступа

В SQL Server Management Studio предоставьте права доступа для таблиц рабочей области проверок через схему. Образец скрипта показывает, как удалять участников роли и удалять роли. Затем создайте роль заново и назначьте права доступа к роли через схему.

USE [revdb]
GO
EXEC sp_droprolemember 'rev_editor', 'giseditor'
GO
EXEC sp_droprole 'rev_editor'
GO
EXEC sp_addrole 'rev_editor', 'rev'
GO
GRANT DELETE ON SCHEMA::[rev] TO [rev_editor]
GRANT EXECUTE ON SCHEMA::[rev] TO [rev_editor]
GRANT INSERT ON SCHEMA::[rev] TO [rev_editor]
GRANT SELECT ON SCHEMA::[rev] TO [rev_editor]
GRANT UPDATE ON SCHEMA::[rev] TO [rev_editor]
GO
EXEC sp_droprolemember 'rev_viewer', 'gisviewer'
GO
EXEC sp_droprole 'rev_viewer'
GO
EXEC sp_addrole 'rev_viewer', 'rev'
GO
GRANT SELECT ON SCHEMA::[rev] TO [rev_viewer]
GO

Проверка ролей

Это перечислит роли.

EXEC sp_helprolemember 'rev_editor'
GO
EXEC sp_helprolemember 'rev_viewer'
GO

Проверка прав доступа ролей

Это перечислит права доступа, назначенные для роли.

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 ('rev_editor','rev_viewer')
GO
ПодсказкаПодсказка:

Предоставьте пользователям права на выборку, обновление, вставку и удаление для таблиц RevAdminCustomFields и RevAdminDescriptions, если у пользователя есть права изменять схему базы данных и добавлять сообщения об ошибках.

Создание пользователя – редактора

Пользователи должны иметь собственные учетные записи. На примере ниже показано, как создать пользователя – редактора ArcSDE.

Создайте учетную запись пользователя – редактора.

USE master
GO
EXEC sp_addlogin N'giseditor', 'gis$editor', @logindb, @loginlang
GO

Создайте пользователя для входа в REVDB.

USE [revdb]
GO
CREATE USER [giseditor] FOR LOGIN [giseditor]
GO

Добавьте пользователя для роли – редактора.

USE [revdb]
GO
EXEC sp_addrolemember N'rev_editor', N'giseditor'
GO

Создание пользователя – обозревателя

Пользователи должны иметь собственные учетные записи. На примере ниже показано, как создать пользователя – обозревателя ArcSDE.

Создайте учетную запись пользователя – обозревателя.

USE master
GO
EXEC sp_addlogin N'gisviewer', 'gis$viewer', @logindb, @loginlang
GO

Создайте пользователя для входа в REVDB.

USE [revdb]
GO
CREATE USER [gisviewer] FOR LOGIN [gisviewer]
GO

Добавьте пользователя для роли – редактора.

USE [revdb]
GO
EXEC sp_addrolemember N'rev_viewer', N'gisviewer'
GO
5/10/2014