Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб админ инф сист2.doc
Скачиваний:
12
Добавлен:
26.03.2015
Размер:
2.05 Mб
Скачать

Права на выполнение хранимых процедур и функций

Единственное право доступа, которое может быть предоставлено для хранимой процедуры - это право на ее выполнение (execute). Помимо этого владелец хранимой процедуры может просматривать и изменять ее код. Для функции кроме прав на выполнение также можно выдать право references, что позволит выполнять связывание функции с объектами, на которые она ссылается. Такое связывание позволяет запретить внесение изменений в структуру объектов, которые бы привели к нарушению работы функции. Право на выполнение хранимой процедуры может быть предоставлено пользователям несколькими способами. Например, при помощи Enterprise Manager. Для этого выберите в левой панели Enterprise Manager нужную базу данных и откройте в ней папку Stored Procedures. В правой части Enterprise Manager будет отображен список хранимых процедур, уже созданных в базе данных. Управление правами доступа можно осуществлять в окне Object Properties (рис. 9.14), вызвать которое можно либо с помощью кнопки Permissions в окне свойств хранимой процедуры, либо выбрав в контекстном меню хранимой процедуры команду All Tasks, а затем команду Manage Permissions.

Рис. 3.4. Окно Object Properties для домена matrix

Чтобы разрешить пользователю выполнять хранимую процедуру, нужно установить напротив его имени флажок в столбце ЕХЕС. Чтобы запретить доступ, нужно зачеркнуть флажок. Пустой флажок подразумевает неявное отклонение доступа. Более подробно о правах доступа будет рассказано далее в этой главе. Управление правами доступа к функциям осуществляется аналогично. При использовании Enterprise Manager необходимо сначала выбрать в левой панели Enterprise Manager нужную базу данных и открыть в ней папку User Defined Functions. В правой части Enterprise Manager будет отображен список пользовательских функций, имеющихся в базе данных. Управление правами доступа можно осуществлять в окне Object Properties (подобное приведенному на рис. 3.4), вызвать которое можно либо с помощью кнопки Permissions в окне свойств пользовательской функции, либо выбрав в контекстном меню функции команду All Tasks, а затем команду Manage Permissions.

Права на выполнение команд Transact-sql

Мы рассмотрели классы прав доступа, регламентирующих действия пользователей в отношении работы с существующими объектами базы данных. Третий класс доступа - права на выполнение команд Transact SQL - предназначены для управления возможностями пользователя по созданию новых объектов базы данных. Приведем список прав доступа на выполнение команд Transact SQL:

CREATE DATABASE. Право создания базы данных. Выдается учетной записи.

create table. Право на создание таблицы.

create view. Право на создание представления.

create procedure. Право на создание хранимой процедуры.

create function. Право на создание пользовательской функции,

create rule, Право на создание правила.

CREATE DEFAULT. Право на создание умолчания

backup database. Право на создание резервной копии базы данных.

backup log. Право на создание резервной копии журнала транзакций.

all. С помощью этого права предоставляются все вышеперечисленные права.

Члены фиксированной роли сервера sysadmin и фиксированной роли базы данных db_owner автоматически имеют право all. Члены других фиксированных ролей имеют набор прав, соответствующих функциям роли.