Предоставление прав доступа для компонентов рабочей области проверок в 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