- •Методические указания к лабораторным работам
- •Лабораторная работа №2
- •Утилита Enterprise Manager
- •Останов средствами Transact-sql
- •Управление учетной записью службы с помощью утилиты Enterprise Manager
- •Режимы запуска sql Server 2000
- •Конфигурирование служб sql Server 2000 Конфигурирование службы mssqlServer
- •Вкладка General
- •Вкладка Memory
- •Вкладка Processor
- •Вкладка Security
- •Вкладка Connections
- •Вкладка Server Settings
- •Лабораторная работа №3
- •Создание пользователя
- •Специальные пользователи
- •Хранение информации о пользователях
- •Фиксированные роли базы данных
- •Пользовательские роли базы данных
- •Права доступа
- •Права доступа к данным
- •Права на выполнение хранимых процедур и функций
- •Права на выполнение команд Transact-sql
- •Управление правами доступа
- •Запрещение доступа
- •Лабораторная работа №4
- •Полная копия
- •Разностная копия
- •Копия журнала транзакций
- •Резервное копирование файлов и групп файлов
- •Планирование стратегии резервного копирования
- •Резервное копирование системных баз данных
- •Восстановление системных баз данных
- •Присоединение баз данных
- •Ограничения при выполнении архивирования
- •Архивирование средствами Enterprise Manager
- •Архивирование с помощью мастера
- •Восстановление архива средствами Enterprise Manager
Права доступа
Для того чтобы пользователь имел возможность выполнять те или иные действия с объектами базы данных, он должен предварительно получить необходимые права доступа. Владелец базы данных или конкретного объекта должны предоставить пользователям базы данных возможность обращения к объектам баз данных. Все существующие в базе данных права доступа можно разбить на три класса:
права доступа к данным
права на выполнение хранимых процедур
права на выполнение команд Transact-SQL
Помимо перечисленных прав доступа, выдаваемых пользователю явно, существует класс неявных прав доступа. Неявные права доступа предоставляются пользователю через членство в фиксированной роли сервера или базы данных. Например, нет никакой другой возможности предоставить пользователю право на создание баз данных, кроме как включить его в роль сервера Dbcreator. Другим примером работы неявных прав доступа является получение владельцем объекта абсолютных прав на управление объектом владения. Если пользователь создал объект в базе данных, то ему автоматически предоставляются максимальные права по управлению этим объектом. Никто, включая администратора, не должен предоставлять пользователю специально эти права. Только факт владения объектом обеспечивает пользователю полный контроль. Владелец объекта может передать права владения другому пользователю, предоставляя ему тем самым полный контроль над объектом. Владелец объекта может устанавливать права доступа к объекту для других пользователей базы данных.
Права доступа к данным
Доступ к данным можно разделить на несколько категорий:
insert. Это право позволяет вставлять в таблицу или представление новые строки. Как следствие, право insert может быть выдано только на уровни-таблицы или представления и не может быть выдано на уровне столбца.
update. Данное право выдается либо на уровне таблицы, что позволяет изменять все данные в таблице, либо на уровне отдельного столбца, что разрешает изменять данные только в пределах конкретного столбца
delete. Право позволяет удалять строки из таблицы или представления. Как и право insert, право delete может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.
select. Разрешает выборку данных. Может выдаваться как на уровне таблицы, так и на уровне отдельного столбца.
REFERENCES. Возможность ссылаться на указанный объект. Применительно к таблицам разрешает пользователю создавать внешние ключи, ссылающиеся на первичный ключ или уникальный столбец этой таблицы. Применительно к представлениям право REFERENCES позволяет связывать их со схемами таблиц, на основе которых они строятся. Это дает возможность отслеживать изменения структуры исходных таблиц, которые могут повлиять на работу представления.
Замечание
Право REFERENCES не существовало в предыдущих версиях SQL Server.
Перечисленные выше права могут быть предоставлены пользователю для таблиц и представлений базы данных. Доступ можно предоставлять как на уровне всей таблицы или представления, так и на уровне отдельного столбца. Обычно не практикуется управление правами доступа на уровне конкретного столбца. Если в таблице имеется один или более столбцов, доступ пользователей к которым необходимо ограничить, то в базе данных часто создается представление (view), включающее только те столбцы исходной таблицы, доступ к которым разрешен. Предоставить или отклонить доступ пользователю базы данных ко всем объектам базы данных можно при помощи особенностей встроенных ролей базы данных. Например, для разрешения чтения данных извсех таблиц и представлении базы данных достаточно включить пользователя в фиксированную роль db_datareader, а не изменить права доступа пользователя к каждой таблице и представлению в отдельности.