Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Добавление пользователю полномочий в схеме  [new]
RuRed
Member

Откуда: Москва
Сообщений: 12
Есть база данных.
В ней есть таблицы в схеме manager. Эта схема специально создана для менеджера, и менеджер видит все таблицы в этой схеме соответственно.
Вот скрипт добавления пользователя, который может проводить любые манипуляции в этой схеме.

USE [master]
GO
CREATE LOGIN [test]
WITH PASSWORD=N'1',
DEFAULT_DATABASE=[club12],
DEFAULT_LANGUAGE=[русский],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=ON
GO
USE [club12]
GO
CREATE USER [test] FOR LOGIN [test]
GO
USE [club12]
GO
ALTER USER [test] WITH DEFAULT_SCHEMA=[manager]
GO
--manager

USE [club12]
GO
ALTER AUTHORIZATION ON SCHEMA::[manager] TO [test]
GO
Вопрос, как запретить пользователю [test] удалять таблицы из схемы manager?
Уважаемые коллеги, пожалуйста подскажите варианты решения...
14 июл 19, 19:43    [21926437]     Ответить | Цитировать Сообщить модератору
 Re: Добавление пользователю полномочий в схеме  [new]
invm
Member

Откуда: Москва
Сообщений: 9114
RuRed
Вопрос, как запретить пользователю [test] удалять таблицы из схемы manager?
Пока он владелец этой схемы - никак.
14 июл 19, 19:48    [21926439]     Ответить | Цитировать Сообщить модератору
 Re: Добавление пользователю полномочий в схеме  [new]
uaggster
Member

Откуда:
Сообщений: 757
invm
RuRed
Вопрос, как запретить пользователю [test] удалять таблицы из схемы manager?
Пока он владелец этой схемы - никак.

Триггером DDL уровня базы данных
15 июл 19, 09:02    [21926554]     Ответить | Цитировать Сообщить модератору
 Re: Добавление пользователю полномочий в схеме  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7383
RuRed,

автор
который может проводить любые манипуляции в этой схеме.


автор
запретить пользователю [test] удалять таблицы


Это взаимоисключающие требования.
15 июл 19, 13:28    [21926749]     Ответить | Цитировать Сообщить модератору
 Re: Добавление пользователю полномочий в схеме  [new]
uaggster
Member

Откуда:
Сообщений: 757
Владислав Колосов
RuRed,

автор
который может проводить любые манипуляции в этой схеме.


автор
запретить пользователю [test] удалять таблицы


Это взаимоисключающие требования.

Да почему "взаимоисключающие"?
Мой хрустальный шар говорит, что требование звучит так:
"Запретить какое-либо изменение структуры, в т.ч. удаление, <<некоторых>> объектов схемы владельцу этой схемы".
Ответ простой.
Да, можно.
1. Создайте таблицу, в которой перечислите все "защищаемые" объекты.
2. Создайте DDL триггер уровня базы данных, который будет откатывать все изменения объектов, перечисленных в п.1. для пользователей, не входящих в ... группу или роль.

Всё просто. Чего мучиться то?
15 июл 19, 14:52    [21926828]     Ответить | Цитировать Сообщить модератору
 Re: Добавление пользователю полномочий в схеме  [new]
RuRed
Member

Откуда: Москва
Сообщений: 12
Владислав Колосов,

кроме удаления таблиц=)
15 июл 19, 23:17    [21927136]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить