- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «тюменский государственный нефтегазовый университет»
- •Инструментальные средства информационных систем
- •Часть I
- •Содержание
- •Пояснительная записка
- •Основные правила по технике безопасности Требования по электрической безопасности
- •Особенности электропитания монитора
- •Особенности электропитания системного блока
- •Система гигиенических требований
- •Общие требования к выполнению и оформлению лабораторных работ Допуск студентов к выполнению лабораторных работ
- •Порядок выполнения лабораторных работ
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты лабораторных работ
- •Порядок оценивания лабораторной работы
- •Лабораторная работа №1 «Установка sql Server. Проверка установки»
- •Ход работы:
- •Контрольные вопросы:
- •Лабораторная работа №2 «Создание и управление базами данных»
- •Ход работы: Контрольные точки и их создание
- •Проверка целостности базы данных
- •Режимы выполнения команды dbcc
- •Dbcc checkalloc
- •Dbcc checkdb
- •Dbcc checktable
- •Dbcc checkfilegroup
- •Команды update statistics и recompile
- •Импорт/экспорт данных в sql Server
- •Общие правила разграничения доступа
- •Архитектура системы безопасности
- •Примечание
- •Предупреждение
- •Примечание
- •Примечание
- •Примечание
- •Пользователи
- •Внимание
- •Примечание
- •Роли сервера
- •Роли баз данных
- •Примечание
- •Роли приложения
- •Примечание
- •Создание и управление учетными записями
- •Примечание
- •Примечание
- •Шифрование данных
- •Примечание
- •Права доступа
- •Права на доступ к объектам баз данных
- •Примечание
- •Права на исполнение команд Transact sql
- •Неявные права
- •Запрещение доступа
- •Неявное отклонение доступа
- •Конфликты доступа
- •Обзор средств Transact sql
- •Ход работы:
- •Контрольные вопросы:
- •Лабораторная работа №4 «Создание, заполнение и просмотр баз данных»
- •3 Порядок выполнения работы
- •3.1 Проектирование баз данных
- •3.2 Проверка правильности, триггеры
- •3.3 Заполнение баз данных
- •3.4 Связывание баз данных и целостность ссылочной системы
- •3.5 Просмотр содержимого баз данных
- •Контрольные вопросы
- •Лабораторная работа №5 «Проектирование экранной формы»
- •Теоретический материал
- •Контрольные вопросы:
- •Лабораторная работа №6 «Анализ баз данных sql-запросы»
- •Теоретические сведения:
- •Ход работы:
- •Контрольные вопросы:
- •Список литературы
- •Основная литература
- •Дополнительная литература
- •Шарафутдинова Светлана Анатольевна инструментальные средства информационных систем
- •625000, Тюмень, ул. Володарского, 38.
- •625039, Тюмень, ул. Киевская, 52
Пользователи
После того как пользователь прошел аутентификацию и получил идентификатор учетной записи (login ID), он считается зарегистрированным и ему предоставляется доступ к серверу. Для каждой базы данных, к объектам которой пользователю необходимо получить доступ, учетная запись пользователя (login) ассоциируется с пользователем (user) конкретной базы данных. Пользователи выступают в качестве специальных объектов MS SQL Server 2000, при помощи которых определяются все разрешения доступа и владения объектами в базе данных.
Внимание
Имя пользователя может использоваться для предоставления доступа как конкретному человеку, так и целой группе людей {в зависимости от типа учетной записи).
При создании базы данных определяются два стандартных пользователя: dbо и guest.
Если учетная запись (login) не связывается явно с пользователем (user), по c леднему предоставляется неявный доступ с использованием гостевого имени guest. То есть все учетные записи, получившие доступ к MS SQL Server 2000, автоматически отображаются в пользователей guest во всех базах данных. Если вы удалите из базы данных пользователя guest, то учетные записи, не имеющие явного отображения учетной записи в имя пользователя, не смогут получить доступа к базе данных. Тем не менее, guest не имеет автоматического доступа к объектам. Владелец объекта должен сам решать, разрешать пользователю guest этот доступ или нет. Обычно пользователю guest предоставляется минимальным доступ в режиме «только чтение».
Для обеспечения максимальной безопасности можно удалить пользователя guest из любой базы данных, кроме системных баз данных master и tempdb. В первой из них guest используется для выполнения системных хранимых процедур обычными пользователями, тогда как во второй позволяет создавать любым пользователям временные объекты.
Владелец базы данных (Database Owner, DBO) — специальный пользователь, обладающий максимальными правами в базе данных. Любой член роли sysadmin автоматически отображается в пользователя dbo. Если пользователь, являющийся членом роли sysadmin создает какой-нибудь объект, то владельцем этого объекта назначается не данный пользователь, а dbo. Например, если M_Smith, член административной группы, создает таблицу TableA, то полное имя таблицы будет не M_Smith.TableA, а dbo.TableA. В то же время, если M_Smith, не будучи участником роли сервера sysadmin, состоит в роли владельца базы данных db_owner, имя таблицы будет M_Smith.ТableA.
Примечание
Пользователя dbo нельзя удалить.
Для связывания учетной записи (login) с определенным именем пользователя (user) можно воспользоваться следующей хранимой процедурой:
sp_adduser [@login_name =] 'login'
[,[@name_in_db =] 'user']
[,[@ grpname =] 'role']
Ниже дается пояснение используемых в ней параметров:
login — имя учетной записи, которую необходимо связать с именем пользователя базы данных;
user — имя пользователя базы данных, с которым ассоциируется данная учетная запись (в базе данных заранее не должно существовать пользователя с указанным именем);
role — этот параметр определяет роль, в которую данный пользователь будет включен (подробнее о ролях будет рассказано позже).
Хранимая процедура sp_grantaccess позволяет отобразить учетную запись Windows NT в имя пользователя:
sp_grantaccess [@loginname =] 'login'
[,[@name_in_db =] 'user']
Параметры означают следующее:
login — имя учетной записи пользователя или группы пользователей Windows NT, которым необходимо предоставить доступ к базе данных. Имя должно снабжаться ссылкой на домен, в котором учетная запись определена. Указанной учетной записи не обязательно должен быть предоставлен персональный доступ к SQL Server. Вполне возможно, что соединение с сервером устанавливается вследствие членства в группе Windows NT, которая имеет доступ к серверу;
user — имя пользователя базы данных, с которым ассоциируется данная учетная запись.
Пользователь, который создает объект в базе данных, например таблицу, хранимую процедуру или представление, становится владельцем объекта. Владелец объекта (Database Object Owner) имеет все права доступа к созданному им объекту. Чтобы пользователь мог создать объект, владелец базы данных (dbo) должен предоставить пользователю соответствующие права. Полное имя создаваемого объекта включает в себя имя создавшего его пользователя. Если пользователь хочет обратиться к таблице, используя только ее имя и не указывая владельца, SQL Server применяет следующий алгоритм поиска:
Ищется таблица, созданная пользователем, выполняющим запрос.
Если таблица не найдена, то ищется таблица, созданная владельцем базы данных (dbo).
Допустим, пользователь King пытается обратиться к таблице M_Smith.TableA, просто используя имя TableA. Поскольку таблица, созданная M_Smith, не соответствует ни первому, ни второму критерию поиска, то таблица TableA найдена не будет и пользователь получит сообщение об ошибке. Для получения доступа к таблице необходимо ввести имя, включающее владельца объекта, то есть M_Smith.TableA.
Владелец объекта не имеет никакого специального пароля или особых прав доступа. Он неявно имеет полный доступ, но должен явно предоставить доступ другим пользователям.
SQL Server позволяет передавать права владения от одного пользователя другому. Чтобы удалить владельца объекта из базы данных, сначала необходимо удалить все объекты, которые он создал, или передать нрава на их владение другому пользователю. Для этого можно использовать хранимую процедуру sp_changeobjectowner, имеющую следующий синтаксис:
sp_changeobjectowner [@objname =] 'object', [@newowner =] 'owner'
Здесь с помощью первого параметра указывается имя объекта, а с помощью второго - имя пользователя, который станет новым владельцем указанного объекта.