
56
Хранимые процедуры (Stored Procedures). На основании хранимых проце
дур базируется программная функциональность SQL Server. Хранимая процеду
ра является последовательностью операторов на языке Transact-SQL (T-SQL),
которые объединены в определенный именованный логический модуль, являю
щийся заранее скомпилированным и оптимизированным [3, с. 383]. Хранимая
процедура может обладать входными и выходными параметрами, осуществлять
возврат результатов исполнения одного либо нескольких SQL-запросов, моди
фикацию данных, создание новых объектов БД.
Определенные пользователем функции (User Define Functions). Функции
по большому счету похожи на хранимые процедуры. Отличие заключается в
том, что функция может быть использована в любом SQL-запросе (либо ином
месте) так же, как системная функция языка T-SQL, и в разделе FROM, в каче
стве представления (если функцией возвращается таблица). При этом есть неко
торые ограничения:
- функция может обладать сколькими угодно входными параметрами, но
лишь одним выходным (как говорилось ранее, это может являться, как скаляр
ным значением, так и таблицей);
- итог функции должен являться строго детерминированным, т.е. при его
вычислении запрещается использование таких функций, как GETDATE(), RND и
так далее.
Пользователи (Users) и роли (Roles). Каждый входящий в систему SQL
Server обязан идентифицироваться. MS SQL обеспечивает поддержку двух видов
этой идентификации (аутентификации): Windows Authentication (для того, чтобы
идентифицироваться, применяются сведения, которые указаны при входе в
Windows), а также SQL Server Authentication (в процессе входа в систему SQL
Server явное указание имени пользователя и пароля). Выбор между ними обычно
определяет принятый в фирме способ разделения функций администратора до
мена, а также администратора SQL-сервера, и взгляды, и привычки создателей
клиентского программного обеспечения. Все пользователи принадлежат к одной
либо нескольким ролям. Каждая роль вправе (или не вправе) на совершение
определенных действий, список которых можно настраивать с большой гибко
стью.