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

Оператор drop schema

Оператор DROP SCHEMA удаляет схему из базы данных. Вы можете успешно выполнить оператор DROP SCHEMA для схемы только лишь в том случае, если эта схема не содержит никаких объектов. Если же схема содержит какие-либо объекты, то оператор DROP SCHEMA будет отменен системой.

DROP SCHEMA schema_name

Заполните созданные таблицы данными из Приложения.

Переключитесь с учетной записи Fred на учетную запись администратора и войдите в SQL Server.

Удалите пользователя Fred из роли db_owner базы данных Postavki. Для этого в окне редактора запросов введите следующий текст:

USE Postavki

GO

EXECUTE sp_droprolemember 'db_owner', 'fs-64C67299CCAR\Fred';

Удаление пользователя Fred из роли db_owner не позволит ему создавать новые объекты в базе данных Postavki ( таблицы, функции, хранимые процедуры), совершать любые операции с таблицами этой схемы.

Переключитесь с учетной записи администратора на учетную запись Fred и войдите в SQL Server. Таблицы в обозревателе объектов SQL Server исчезнут. Если попытаетесь выполнить запрос к таблице PostDet.tblS, получите сообщение об ошибке.

Управление доступом к таблицам и столбцам.

Управление доступом к таблицам и столбцам осуществляется через иерархию разрешений с использованием инструкций:

GRANT (Предоставить). Предоставляет пользователю или роли доступ к данному действию с указанной таблицей.

WITH GRANT (Право передачи). Также предоставляет пользователю или роли доступ к данному действию с указанной таблицей. Кроме того, с таким параметром можно передавать разрешение другим пользователям или ролям.

DENY (Запретить). Явно запрещает любому пользователю или роли определенные разрешения и предотвращает наследование этих разрешений от других ролей.

REVOKE (Отменить) Отмена ранее предоставленного разрешения или запрета на объект.

Изменение прав доступа к таблице.

Переключитесь с учетной записи Fred на учетную запись администратора и войдите в SQL Server.

Предоставьте пользователю Fred разрешение SELECT только на таблицу PostDet.tblP. SELECT– разрешение на выборку строк из таблицы.

USE Postavki;

GO

GRANT SELECT

ON PostDet.tblP

TO [FS-64C67299CCAR\ Fred];

Смените пользователя и выполните вход в SQL Server с помощью идентификатора. Fred. Появится таблица PostDet.tblP. Выполните предыдущий запрос к таблице PostDet.tblP. Запрос успешно завершен.

Выполните самостоятельно запрос на обновление таблицы PostDet.tblP. Получите сообщение об ошибке.

Смените пользователя и вновь войдите в SQL Server с учетной записью администратора.

Предоставьте пользователю Fred еще дополнительное разрешение UPDATE (изменение строк в таблице) на таблицу PostDet.tblP.

Самостоятельно создайте запрос и проверьте выполнение этого разрешения.

Ограничиваем доступ пользователя Fred к таблице PostDet.tblP. Отзываем ранее предоставленные разрешения SELECT и UPDATE на таблицу PostDet.tblP. Для удаления разрешений следует воспользоваться инструкцией REVOKE.

USE Postavki;

GO

REVOKE SELECT, UPDATE

ON PostDet.tblP

TO [FS-64C67299CCAR\ Fred];

Предоставление и отмена прав доступа к отдельным столбцам таблицы.

Предоставить право доступа к отдельным столбцам таблицы можно с помощью инструкции GRANT. Предоставьте разрешения SELECT и UPDATE на столбцы S и SName таблицы PostDet.tblS. SELECT– разрешение на выборку из столбца. UPDATE - разрешение изменять данные в столбце.

--Изменяем контекст соединения на базу Postavki

USE Postavki;

GO

GRANT SELECT, UPDATE ( S, SName)

ON PostDet.tblS

TO [FS-64C67299CCAR\ Fred];

Переключитесь на учетную запись Fred, войдите в SQL Server и выполните запрос:

UPDATE PostDet.tblS

Set PostDet.tblS.SName = 'Peter'

Where S = 'S1';

Оцените полученный результат.

Отозвать доступ к отдельным столбцам таблицы можно с помощью инструкции REVOKE.

Смените пользователя и вновь войдите в SQL Server с учетной записью администратора.

USE Postavki;

GO

--Отзываем ранее предоставленные или запрещенные разрешения на столбец S для пользователя Fred.

REVOKE SELECT, UPDATE ( S, SName)

ON PostDet.tblS

TO [FS-64C67299CCAR\ Fred];

Для создания разрешений с помощью графического интерфейса нужно открыть базу данных и в свойствах найти пункт Permission(Безопасность-> Пользователи -> Свойства).

Представление как мера безопасности.

Представление – это виртуальная таблица, данные которой заимствованы из других таблиц. Представление запоминается системой посредством его записи в каталог базы данных под указанным именем.

Представление используется как мера безопасности, предотвращающая обращение пользователей к таблице. Оно позволяет ограничить доступ к определенным столбцам или строкам таблицы, а также доступные пользователям операции. Ограничить доступ к таблице можно, предоставив его минимальному количеству ролей или имен входа, и оставив либо представление, либо хранимую процедуру в качестве единственного способа извлечения данных.

Соседние файлы в предмете Базы данных