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

Откуда:
Сообщений: 89
Добрый день! Гуглил, не нашел.
Подскажите, пожалуйста.
Как блокировать от редактирования часть записей в таблице?
На рисунке таблица, в которой должны быть заблокированы от редактирования записи за 2016 год (поле “year”), признак блокировки – поле “blocked” значение “True”.
Идея – блокировать записи за прошлые года.
Можно, видимо, использовать для этого триггеры, но их можно удалить.
Может есть другое решение?

К сообщению приложен файл. Размер - 28Kb
15 мар 17, 17:31    [20299034]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Михайло
Можно, видимо, использовать для этого триггеры, но их можно удалить.
Не выдавайте кому попало права ddl_admin, а то вам и таблицы поудаляют.
15 мар 17, 17:35    [20299046]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
Михайло
Можно, видимо, использовать для этого триггеры, но их можно удалить


Если у вас любой пользователь может удалить тригеры, то все, тушите свет.
15 мар 17, 17:36    [20299048]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Кесарь
Member

Откуда:
Сообщений: 677
Михайло,

триггеры могут быть и шифрованные.


Хотя лучше такие вещи решать на админском и организационном уровне. Через настройку прав и управление физическим доступом.
15 мар 17, 18:53    [20299276]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Кесарь,

автор
управление физическим доступом.
это как? не всем давать клавиатуру и в серверную не пускать?
15 мар 17, 18:54    [20299282]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Кесарь,

автор
триггеры могут быть и шифрованные.
это вообще веселит
15 мар 17, 18:55    [20299286]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Кесарь
Member

Откуда:
Сообщений: 677
TaPaK
Кесарь,

автор
управление физическим доступом.
это как? не всем давать клавиатуру и в серверную не пускать?


Типа того. Не нанимать на работу дебилов, ограничивать доступ к серверной, ограничивать сетевой доступ к базам и т.п.
15 мар 17, 19:00    [20299292]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Кесарь,

автор
ограничивать сетевой доступ к базам
окак
15 мар 17, 19:01    [20299295]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
o-o
Guest
Кесарь
Типа того. Не нанимать на работу дебилов,

Да надо же.
При найме решающее слово не у техника, а у HR.
и дурак дурака видит издалека.
В результате имеем неучей с правами, по 100 раз ребилдящих индексы в 3 страницы.
Еще и удивляются потом, что ничего не изменилось
15 мар 17, 19:29    [20299355]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5122
o-o
При найме решающее слово не у техника, а у HR.
ну, не стоит обобщать. у нас, например, решающее слово однозначно за тех-спецом.
Михайло
Идея – блокировать записи за прошлые года.
имхо, я бы вынес "архивные" данные в отдельную таблицу в отдельной файловой группе и сделал эту группу рид онли.
15 мар 17, 22:04    [20299743]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
Михайло
Можно, видимо, использовать для этого триггеры, но их можно удалить.
От умышленных действий админа вы не защититесь.
Михайло
Идея – блокировать записи за прошлые года.
Триггер или view
16 мар 17, 01:33    [20300122]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
aleks2
Guest
Необновляемое (само по себе) View with View_metadata и instead of триггер.

Если что-то удаляем (триггер или view) - ничего не работает.

ЗЫ. Осталось тока придумать защиту от модификации триггера или view.
16 мар 17, 08:23    [20300291]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
Дедушка
Михайло
Идея – блокировать записи за прошлые года.
имхо, я бы вынес "архивные" данные в отдельную таблицу в отдельной файловой группе и сделал эту группу рид онли.
+1
Интересно, можно записать базу MS-SQL на DVD+R ? Чтобы уж совсем аппаратно.
16 мар 17, 09:03    [20300366]     Ответить | Цитировать Сообщить модератору
 Re: Как блокировать от редактирования часть записей в таблице?  [new]
aleks2
Guest
Dmitry V. Liseev
Дедушка
пропущено...
имхо, я бы вынес "архивные" данные в отдельную таблицу в отдельной файловой группе и сделал эту группу рид онли.
+1
Интересно, можно записать базу MS-SQL на DVD+R ? Чтобы уж совсем аппаратно.

Ишо 2000 мог.
16 мар 17, 09:56    [20300556]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить