WedX - журнал о программировании и компьютерных науках

Можем ли мы запретить удаление из определенных таблиц?

Есть ли способ запретить удаление разрешений для набора таблиц для конкретного пользователя в sql server 2008. Я хочу, чтобы пользователь не мог удалять данные из некоторых таблиц в базе данных, не хочу использовать вместо триггера для конкретной причины таблицы у меня 90 столов ??

30.11.2012


Ответы:


1

Абсолютно!

DENY DELETE ON (YourTableNameHere) TO YourUserNameHere

Дополнительные сведения см. в замечательных и обширных документах MSDN Books Online!

Если вы хотите запретить разрешение DELETE для всех таблиц в базе данных, вы можете использовать:

DENY DELETE TO YourUserNameHere

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

Если вы не сгруппировали свои 90 таблиц в отдельную схему (или две, три схемы), то не существует простого волшебного способа применить разрешение сразу к 90 таблицам. Это либо все таблицы, либо конкретная схема, либо конкретный объект базы данных (например, таблица) для каждого оператора DENY.

Обновление: вы всегда можете использовать представления системного каталога для создания этих DENY операторов, а затем использовать те, которые вам нужны:

SELECT 
    'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t

Это выведет в качестве вывода (например, в SQL Server Management Studio) список операторов для отказа в разрешении DELETE от вашего пользователя. Скопируйте эти строки в текстовый редактор и удалите те строки, которые вам не нужны, и вот вам длинный список DENY утверждений!

30.11.2012
  • это будет для 1 стола, а у меня более 90 столов 30.11.2012
  • да, но я хочу сделать это любым другим способом, а не писать 90 операторов для 1 базы данных, затем для другой базы данных и так далее.... 30.11.2012
  • @puneet: вы можете выдать DENY для всех таблиц, для определенной схемы или конкретной таблицы. Вы не можете сделать это по-другому. 30.11.2012
  • у меня есть таблицы с одинаковым именем схемы, и я не хочу отказывать в разрешении на удаление из всех таблиц, 30.11.2012
  • @puneet: хорошо, тогда сделайте DENY DELETE ON (schemaname) TO (username) для тех схем (по одной за раз), от которых вы хотите запретить своему пользователю 30.11.2012
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]