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

Откуда:
Сообщений: 625
Возможно ли такое. Т.е изменять процедуру может только ее владелец
6 окт 15, 15:00    [18241479]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Никак.
6 окт 15, 15:05    [18241522]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
o-o
Guest
Картинка с другого сайта.Картинка с другого сайта.Картинка с другого сайта.
6 окт 15, 15:06    [18241536]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4247
Создать DDL-триггер и проверять кто из пользователей инициировал изменение.
Если не [имя_пользователя], то
ROLLBACK TRAN
6 окт 15, 15:09    [18241561]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Glory
Member

Откуда:
Сообщений: 104760
abort
Возможно ли такое. Т.е изменять процедуру может только ее владелец

Надо владельца сделать sysadmin-ом. И только его
6 окт 15, 15:12    [18241583]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
abort
Member

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

вот это как раз таки и не получится.
Некоторые сисадмины иногда в пылу деятельности могут случайно а может и сознательно попортить процедуры других сисадминов.
6 окт 15, 15:18    [18241639]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Glory
Member

Откуда:
Сообщений: 104760
abort
Некоторые сисадмины иногда в пылу деятельности могут случайно а может и сознательно попортить процедуры других сисадминов.

Вообще то таких сисадминов увольняют
Потому что кроме процедур на сервере существует масса другого, что можно попортить
Вы то хотите, чтобы у вас сисадмин вообще ничего не мог ?
6 окт 15, 15:22    [18241686]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
0-0
Guest
SQL2008
Создать DDL-триггер и проверять кто из пользователей инициировал изменение.
Если не [имя_пользователя], то
ROLLBACK TRAN


Если пользователь админ, то он может этот DDL-триггер отключить, удалить, изменить.

автор
Некоторые сисадмины иногда в пылу деятельности могут случайно а может и сознательно попортить процедуры других сисадминов.

А административными методами не проще это разруливать (аудит + выговор)?

Могу предложить экзотический вариант: под каждого админа своя база со своими блек-джеком процедурами. Одна база общая, в которой все админы пользователи. В этой базе синонимами собирать все процедуры из каждой базы сисадминов. )
6 окт 15, 15:25    [18241715]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
abort,

1) Восстанавливать базу из бекапа каждые 5 минут
2) Сделать базу readonly
3) Поставить на подступах к базе два пулемёта (Почему два, Василий Иваныч? Потому что один перегреваться будет)
6 окт 15, 15:58    [18242057]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
<>
Guest
Создать
with encryption
6 окт 15, 16:27    [18242251]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
o-o
Guest
да до кучи раскриптователей этого encryption,
написаны под 2005 и 2008, а пашут и в 2014-ом тоже.
щас найду, где было
6 окт 15, 16:31    [18242277]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
o-o
Guest
decryption: интересующиеся могут почитать отсюда
Замки на процедурах
и до победного конца
o-o
поздравляю всех с неизменным успехом Decryption процедур на серверах 2012, 2014.
на забываем стартовать Экспрессы с -T7806, чтобы суметь воспользоваться DAC
:)
6 окт 15, 16:37    [18242320]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Владислав Колосов
Member

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

в курсе, что в природе существуют системы разработки БД, контроля версий?
6 окт 15, 16:52    [18242490]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Adx
Guest
abort,
не давать права сисадмина всем подряд.
Можно вообще пароль в сейфе хранить, чтобы никто не мог войти под сисадмином. )
В MSSQL есть огромный набор прав, которые можно давать конкретному администратору для выполнения его обязанностей.
Помимо стандартных ролей пользователю можно давать доступ на множество операций (и запрещать соответственно).
6 окт 15, 17:14    [18242673]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
o-o
Guest
да это мания преследования
(а преследуемый определенно пуп земли)
у меня начальница тоже считает, что ей процедуры подменяют.
причем к этому выводу она приходит именно тогда, когда ее очередная процедура делает что-то не то.
ну и когда она однажды нашла отключенным DDL-триггер,
тут же решила, что это гадит сисадмин.
вот же админу нечем больше заняться, как чужие процедуры менять.
"мы в 5-ом классе", простите.
но лучше всего шпионить через event notifications.
DDL-триггер -- это же так видно в ГУИ,
и его отключение через DISABLE TRIGGER не отражается вообще нигде.
а notifications -- вещь неочевидная.
6 окт 15, 17:24    [18242759]     Ответить | Цитировать Сообщить модератору
 Re: Как запретить изменять процедуры всем пользователям, включая sysadmin  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
abort

запретить не получится, в лучшем случае получится отследить.
6 окт 15, 17:42    [18242879]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить