Пользовательские функции.




Типы определяемых пользователем функций:

Scalar. Функция Scalar может содержать множество команд, объединяемых конструкцией BEGIN…END в одно целое, и возвращает скалярное значение любого из типов данных, поддерживаемого SQL Server, за исключением timestamp, text, ntext, image, table и cursor.

Inline. Функции этого типа всегда возвращают значения типа данных table, представляющие собой сложный набор данных. Кроме того, функция Inline может состоять всего из одной команды SELECT. Их особенностью является то, что код функции при выполнении программы вставляется непосредственно в исполняемый набор команд, т.е. происходит не вызов функции, а встраивание.

Multi-Scalar. Как и функции предыдущего типа, функции Multi-Scalar возвращают значение типа данных table. Однако в отличие от первых, функции рассматриваемого типа могут состоять более чем из одной команды, что дает возможность использовать в теле функции транзакции, курсоры, вызывать хранимые процедуры и т. д. Как и при работе с функциями Scalar, при использовании более одной команды следует применять конструкцию BEGIN...END.

Функции, возвращающие значения типа данных table (Inline и Multi-Scalar), могут вызываться непосредственно в разделе from при работе с запросами SELECT, INSERT, DELETE и UPDATE.

Недопустимые типы входных параметров: image, text, ntext, cursor и table. Нельзя применять для возврата значений ключевое слово OUTPUT. Тем не менее, можно определять значения по умолчанию.

При программировании функций не разрешается использование команд, которые могут вернуть значения непосредственно в соединение(PRINT, FETCH). Однако применение ко­манды FETCH для помещения данных из курсора в локальные переменные допускается.

В функции не разрешается изменений данных в таблицах базы данных, созда­ние, модификация и удаление объектов базы данных. Тем не менее, разрешается использование команд UPDATE, INSERT и DELETE, изменяющих данные в пере­менной table, которая является возвращаемым функцией значением.

 

 


Система безопасности SQL SERVER.

Условно СБ можно разделить на 2 уровня:

1) уровень сервера; 2) уровень БД.

На уровне сервера разрешается или отклоняется доступ пользователей к самому серверу.

На уровне БД пользователи, имеющие доступ на уровне сервера, получают доступ к объектам БД. На уровне сервера система оперирует такими понятиями:

1) аутентификация; 2) учётная запись; 3) встроенные роли сервера.

На уровне БД: 1) пользователь БД; 2) фиксированные роли БД; 3) пользовательская роль БД; 4) роль приложения;

SS поддерживает 2 метода аутентификации:

1) Windows Authentication; 2) SS Authentication.

В связи с этим СБ SS может работать в 2х режимах: 1) режим смешанной аутентификации (Mixed Mode); 2) аутентификация Windows (Windows Authentication Mode).

Задаётся режим аутент. с помощью менеджера в свойствах сервера на вкладке security. Переключатели группы (Audit Level) позволяют отслеживать попытки регистрации пользователя. Здесь можно задать следующие режимы:

1) попытки доступа пользователей к серверу не протоколируются – None;

2) сервер записывает в журнал только те попытки регистрации, которые заверш. успешно -- Success;

3) Failure – отслеживаются только неудачные попытки получить доступ;

4) All – включает все предыдущие случаи.

 

При аутентификации Windows подлинность проверяется ОС, и пользователь автоматически получает соответствующие права на доступ к данным SS после регистрации в домене. Такой метод предоставления доступа называется установлением доверительного соединения.

Аут-я SS реализуется на самом SS и вся информация о пользователях хранится в системной базе Master. Например, при подключении к SS через Internet регистрация в домене не выполняется, поэтому необходимо использовать ASS. При ASS возможна такая ситуация, когда различные пользователи будут работать под одной учётной записью SS.

 


Учетные записи.

Аут-я Windows NT предусматривает хранение учётной записи пользователя в БД системы безопасности доменов.

Если пользователь успешно прошёл регистрацию в сети Windows, он получает набор идентификаторов, включающих идент-р самой УЗ и идент-ры всех групп, в которые включена УЗ.

На основе этих идентификаторов УЗ м.б. предоставлен доступ к SS.

Информация об УЗ-ях SS, как и Windows, хранится в таблице SysLogin системной базы Master. Каждая строка этой таблицы соответствует 1 УЗ.

Для более удобной работы с локальными УЗ-ми можно использовать представления SysLogins. Изменения в таблице SysLogins может осуществляться с помощью INSET, UPDATE, DELETE и системных ХП. С помощью менеджера можно получить список всех зарегистрированных на сервере УЗ-ей. Они хранятся в папке «\Security\Logins».

Информация об УЗ-ях представляется следующими столбцами:

Name – имя УЗ (max длина 128 символов).

Type – тип УЗ.

Server Access – доступ к SS разрешён или запрещён.

Default Database – БД по умолчанию.

User – имя пользователя БД.

Default Language – язык по умолчанию, установленный для УЗ.

 

В процессе установки SS создаёт 2 специальные УЗ:

1) sa – системный администратор.

Эта УЗ оставлена для сохранения совместимости с предыдущими версиями SS.

2) BUILTIN\administrators

С помощью этой УЗ члены группы администратора домена, в котором установлен SS, получают доступ к SS. По умолчанию эта УЗ включена в фиксированную роль сервера. Это означает, что администраторы сети по умолчанию имеют права на управление сервером.

Эту УЗ лучше исключить из роли SysAdmin в случае, если обязанности администратора сети и администратора SS выполняют разные люди.

 


Роли сервера.

В SS имеются 2 группы ролей:

1) роли сервера; 2) роли БД.

Набор ролей сервера строго ограничен. Никто, включая администратора БД, не может создать новую или удалить существующую роль БД. Поэтому они называются фиксированными ролями.

Пользователь БД – это единица СБ, через которую осуществляется доступ УЗ к объектам БД.

СБ SS построена таким образом, что пользователь должен только однажды себя идентифицировать при подключении к серверу.

 

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: