Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
доп.docx
Скачиваний:
36
Добавлен:
26.03.2016
Размер:
115.88 Кб
Скачать

4.7.5.4 Инструкция grant.

Будучи администратором, можно выполнять инструкцию SELECT из таблицы Products и представления vw_Names, а также выполнять процедуру pr_Names; однако Mary всего этого не может. Чтобы предоставить Mary необходимые разрешения, воспользуйтесь инструкцией GRANT.

Инструкция GRANT предоставляет разрешения на выполнение инструкций EXECUTE для хранимой процедуры, инструкций SELECT, INSERT, UPDATE и DELETE, чтобы получить доступ к данным и изменять их. Инструкция GRANT также используется для других разрешений, например для разрешений на создание таблиц.

1. Выполним следующую инструкцию, чтобы предоставить Mary разрешение на EXECUTE для хранимой процедуры pr_Names.

GRANT EXECUTE ON pr_Names TO Mary;

GO

В данном сценарии Mary имеет доступ только к таблице Products посредством хранимой процедуры. Если Mary нужно выполнять инструкцию SELECT к представлению, нужно выполнить инструкцию GRANT SELECT ON vw_Names TO Mary

Чтобы удалить доступ к объектам базы данных, воспользуйтесь инструкцией REVOKE.

4.7.6 Удаление объектов базы данных.

Чтобы удалить все записи, созданные в предыдущих шагах данного раздела, достаточно удалить базу данных. Тем не менее, в данном разделе будет показано, как аннулировать любое действие, совершенное при выполнении предыдущих действий.

1. Перед удалением объектов необходимо убедиться, что используется нужная база данных:

USE TestData;

GO

2. С помощью инструкции REVOKE удаляется разрешение на выполнение, предоставленное Mary на хранимую процедуру:

REVOKE EXECUTE ON pr_Names FROM Mary;

GO

3. С помощью инструкции DROP удаляется разрешение, предоставленное Mary для доступа к базе данных TestData:

DROP USER Mary;

GO

4. С помощью инструкции DROP удаляется разрешение, предоставленное Mary для доступа к экземпляру SQL Server:

DROP LOGIN [<computer_name>\Mary];

GO

5. С помощью инструкции DROP удаляется хранимая процедура pr_Names:

DROP PROC pr_Names;

GO

6. С помощью инструкции DROP удаляется представление vw_Names:

DROP View vw_Names;

GO

7. С помощью инструкции DELETE удаляются все строки таблицы Products:

DELETE FROM Products;

GO

8. С помощью инструкции DROP удаляется таблица Products:

DROP Table Products;

GO

9. Базу данных TestData невозможно удалить во время нахождения в ней; поэтому сначала требуется переключить контекст на другую базу данных и только после этого с помощью инструкции DROP удалить базу данных TestData:

USE MASTER;

GO DROP DATABASE TestData;

GO