Объекты sql Server – правила и стандартные значения.
Правила и стандартные значения появились раньше ограничений проверки и ограничений стандартных значений.
Правила и стандартные значения не согласуются со стандартом ANSI.
Ограничения представляют собой характеристики таблицы и не могут существовать сами по себе.
Правила и стандартные значения являются независимыми объектами и могут неоднократно «привязываются» к той или иной таблице либо пользовательскому типу данных.
CREATE RULE SalaryRule AS @Salary > 0
Правило говорит, что любой столбец, к которому оно будет применено, должно содержать значение больше нуля.
Для активизации правил необходимо воспользоваться хранимой процедурой:
sp_bindrule <’правило’>, <’имя_объекта’>, [<'использовать_в_будущем'>]
Отменить привязку правила:
EXEC sp_unbinterule
‘Empoloyees.Salary’
Удаление правила:
DRIP RULE <имя_правила>
Таблица:
Инструмент |
Преимущества |
Недостатки |
Ограничения |
Быстрые. Выполняются до запуска оператора. Совместимы со стандартом ANSI. |
Необходимость переопределения для каждой таблицы. Невозможность задания ссылок на другие таблицы. Нельзя привязать к типам данных. |
Правила, стандартные значения |
Представляют собой независимые объекты. Возможность повторного использования. Можно привязать к типам данных. Выполняются перед запуском оператора. |
Немного медленнее ограничений. Не могут ссылаться на другие таблицы. Реализованы в новых версиях SQL Server только для поддержки обратной совместимости. |
Триггеры |
Предельная гибкость. Могут применяться для нескольких столбцов и нескольких таблиц. |
Запускаются только после/вместо выполнения команды. Приводят к существенному перерасходу ресурсов. |
Системы безопасности СУБД SQL Server.
Режим аутентификации средствами Windows NT/2000.
Смешанный режим аутентификации.
Компоненты структуры безопасности:
Учётные записи пользователя.
Пользователи.
Роли.
Группы.
Серверные роли и роли БД, определяемые пользователем роли.
Роль – представляет собой набор прав доступа, которые могут быть назначены пользователю, путём присоединения пользователя к данной роли. Пользователь может принадлежать к нескольким ролям. Различают роли:
Серверные роли – являются фиксированной и её нельзя удалить или модифицировать.
Роли базы данных – фиксированные роли базы данных и создаваемые пользователем роли базы данных.
Фиксированные роли сервера.
sysadmin |
Выполнение любых действий на сервере.(ситсемные администраторы SQL Server) |
Serveradmin |
Настройка конфигурации, выключение сервера |
Setupadmin |
Управление связанными серверами и процедурами, автоматически запускающимися при старте сервера. |
securityfdmin |
Управление учётными записями и правами на создание базы данных, а также для контроля журнала ошибок.(доступ к log файлу). |
Processadmin |
Управление процессами, запущенными в сервере.(можно уничтожить долго управляющий процесс) |
Dbcreator |
Создание и модификации базы данных. |
Diskadmin |
Управление файлами сервера (контроль того, с каким файлом связана данная группа, подлючение и отстройка БД) |
Bulkadmin |
Представление прав на выполнение команд BULK INSERT – массового копирования баз данных. Иначе подобная операция может быть выполнена только при помощи роли sysadmin. |
Роли базы данных - позволяет объединять пользователей в одну административную единицу и работать с ней как с обычным пользователем.