Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laby_СУБД

.pdf
Скачиваний:
8
Добавлен:
10.03.2016
Размер:
722.67 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра информационных технологий и моделирования

О.А. Карасева

Корпоративные информационные системы

SQL Server

Учебно-методические указания по проведению лабораторно-практических занятий для студентов направлений

230700.62 – Прикладная информатика

080500.62- Бизнес-информатика

дневной, очно-заочной и заочной формы обучения

часть 2

ЕКАТЕРИНБУРГ, 2012

1

Лабораторная работа №1

Цель работы: знакомство с основами работы в SQL Server

После установки и запуска SQL Server необходимо выполнить действия:

создать одну или несколько баз данных;

создать таблицы в базе данных;

создать представления и хранимые процедуры, которые будут управлять данными, возвращаемыми из база данных;

установить права доступа.

Для большинства из этих действий не надо писать код, а можно использовать инструменты и возможности SQL Server Enterprise Manager. Это внешний интерфейс, обеспечивающий взаимодействие с несколькими установками SQL Server в одном приложении.

Для управления SQL Server можно воспользоваться окном Службы панели Администрирование операционной системы. Это не всегда удобно, т.к. список выводимых служб слишком велик и объем выводимой информации значительно превосходит наши потребности.

Поэтому Microsoft создала еще одну утилиту - Диспетчер служб (Service Manager), которую можно использовать как быстрый и удобный внешний интерфейс к службам SQL Server. Она запускается в фоновом режиме и минимально представлена на экране, а потому, чтобы открыть ее окно, необходимо воспользоваться меню Пуск.

Service Manager – это интерфейс к службам Windows NT.

Существует еще один важный инструмент SQL Server – Анализатор запросов Query Analyser. Query Analyser представляет собой внешний интерфейс командной строки для баз данных SQL Server. Это мощная и информативная утилита.

SQL Server Enterprise Manager

SQL Server Enterprise Manager запускается командой главного меню Пуск, Программы, SQL Server, Enterprise Manager.

2

Рис. 1. Окно SQL Server Enterprise Manager

Структура сервера представлена в Enterprise Manager иерархическим деревом, узлы которого в исходном состоянии свернуты. Программа во много напоминает Проводник.

В строке заголовка указан путь к выделенному компоненту в структуре SQL Server. Это составляет множество полезной информации.

Обратимся к узлу Security (Безопасность).

Как видно, система безопасности состоит из четырех компонентов:

Logins (Учетные записи), Server Roles (Роли Сервера), Linked Servers (Свя-

занные серверы) и Remote Servers (Удаленные серверы).

Безопасность

SQL Server работает с двумя уровнями доступа пользователей. Первый уровень – это учетные записи. Учетная запись предназначена для подключения собственно к серверу. Область действия учетной записи распространяется на весь сервер. Второй уровень образуют записи пользователей. Запись пользователя – это способ, который выбран в SQL Server для контроля за тем, кто имеет права на доступ к определенным объектам сервера. Запись пользователя может быть создана в одной или нескольких базах данных независимо.

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

3

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

Учетные записи

На машинах с ОС Windows NT/2000 SQL Server запускается как служба Windows. Служба не обладает никаким пользовательским интерфейсом. Взаимодействие с таким процессом может происходить через отдельный пользовательский интерфейс, подключаемый к службе, но остающийся совершенно независимой программой. Вывод любых данных выполняется службой только в журнал событий.

Как правило, рабочая установка SQL Server располагается на удаленном сервере, находящемся, обычно, в безопасном помещении с ограниченным доступом. SQL Server, как служба, находится под управлением Windows. Если возникает ошибка, источник которой находится в SQL Server, в Windows или где-либо извне, Windows как правило, справляется с ситуацией при помощи собственных служб.

Рассмотрим службы Windows подробнее. Это поможет правильно установить первую часть системы безопасности.

1.Выполните команду Пуск, Настройка, Панель управления.

2.Найдите значок, соответствующий команде Администрирование и откройте окно.

3.Выберите команду Службы и откройте соответствующее окно.

4.Найдите службу MSSQLSERVER.

5.Щелкните по строке правой кнопкой мыши и выполните команду

Свойства контекстного меню.

6.На вкладке Общие диалогового окна свойств указаны имя выбранной службы, компонент, ее реализующий, а также возможности запуска, останова, паузы и возобновления работы.

7.Вторая вкладка диалогового окна Вход (Log On) содержит параметры безопасности. Здесь указаны имя пользователя и пароль, определенные в процессе установки.

8.Именно с вкладки Вход начинается решение задач безопасности. Возможны два способа входа службы в SQL Server. Следует помнить, что пользователь не обязан проходить процедуру входа в систему, поэтому, в данном случае, указывается имя пользователя, определенное для

SQL Server.

Первый способ входа – посредством Учетной записи локальной си-

стемы. Это простая учетная запись, не имеющая пароля, а потому открывающая возможность несанкционированного входа в SQL Server. Доступ по данной учетной записи ограничен (только для локальной машины). Ис-

4

пользование этой учетной записи не дает никакой возможности для службы войти в базу данных SQL Server, расположенную на удаленном компьютере. Кроме этого, использование учетной записи локальной системы гарантирует выполнение всех операций, связанных с разработкой, на локальном компьютере, а не на рабочем сервере. Использование данной учетной записи гарантирует изоляцию от удаленного сервера, и это очень важно.

Второй способ запуска SQL Server как службы состоит в использовании так называемой учетной записи домена. Вход в службу этим методом означает, что служба обратится к модели безопасности Windows NT, чтобы проверить, правильность введенных имени пользователя и пароля. При работе на сетевом компьютере, имя пользователя имеет префикс, состоящий из точки и обратной косой черты (.\).

Установлен ли SQL Server на локальном компьютере или на удаленном сетевом – не имеет никакого значения. Если требуется установить определенный уровень секретности для запуска службы , следует установить именно этот переключатель. При этом именем пользователя должно быть имя, определенное в Windows NT специально (и только) для запуска SQL Server.В этом варианте обеспечивается безопасность, по меньшей мере, на уровень модели безопасности Windows NT.

Выбрав этот метод, убедитесь, что пароль определен на неограниченный срок и не может быть заблокирован. Если пароль окажется заблокирован, не пробуйте переустановить его, иначе придется сделать это также и в данном диалоговом окне.

На данной вкладке устанавливаются параметры безопасности между SQL Server и сервером, который доступен внешнему миру. Соблюдайте осторожность в обращении с этими параметрами.

8.На вкладке Восстановление (Recovery) определяются действия, предпринимаемые в случаях отказов службы.

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

Создание учетной записи с помощью программы SQL Server Enterprise Manager

Хочу предупредить, администратор ограничил Ваш доступ, поэтому Вы можете в классе познакомиться с правилами создания учетной записи,

ана домашнем компьютере реализовать.

1.Запустите Enterprise Manager.

5

2.Откройте в окне приложения нужный сервер, затем его папку Security и выделите объект Logins. Выберите команду Действия, New Logins, появится диалоговое окно (рис. 2).

3.Введите данные о новой учетной записи. Если необходимо, на вкладке Database Access (рис.3) можно дополнительно указать к каким именно базам данных пользователю будет разрешен доступ.

Рис. 2. Диалоговое окно для предоставления пользователю доступа к базам данных на сервере

Рис.3. Диалоговое окно для определения прав доступа пользователя к отдельным базам данных

6

4. Для создания учетной записи введите значение пароля и щелкните на кнопке ОК.

Если необходимо создать в базе данных запись пользователя, выделите в окне SQL Server Enterprise Manager нужную базу данных и выберите команду Действия, Создать, Database User.

Из раскрывшегося списка Login name выберите учетную запись, для которой в базе данных создается запись пользователя. В поле User name укажите имя создаваемой записи. Выберите необходимые для данного пользователя роли.

Роли

В первоначальных версиях SQL Server пользователь мог быть включен только в одну группу пользователей базы данных и дополнительно в принимаемую по умолчанию группу Public. Это являлось достаточно серьезным ограничением. Начиная с версии SQL Server 7.0 понятие группы было ликвидировано.

Вместо групп в SQL Server было введено понятие роли. Теперь каждому пользователю может быть назначено любое количество ролей.

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

Для того, чтобы создать роль для нескольких пользовательских идентификаторов, которые вы желаете сгруппировать, необходимо дать роли осмысленное имя и поместить в нее все пользовательские идентификаторы. Затем, вместо того, чтобы назначать права доступа отдельно для каждого объекта в отдельности, вы можете назначить права для роли, при этом изменения коснуться всех пользователей, к этой роли относящихся.

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

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

7

На уровне сервера определено несколько разнообразных ролей, которые могут быть назначены некоторой учетной записи (рис.2)

Рис. 2. Роли сервера

Создание ролей с помощью программы SQL Server Enterprise Manager

1.Запустите Enterprise Manager и выделите БД, в которой необходимо создать новую роль.

2.Выберите команду Действие, Создать, Database Role. Появится диалоговое окно (рис.3). Заполните соответствующие поля, щелкните по кнопке Add и выберите всех пользователей, которым необходимо назначить эту роль.

Рис. 3. Создание роли

8

Использование прав доступа в SQL Server

Право доступа - это разрешение на получение доступа к некоторому объекту в базе данных. Права предоставляются некоторой записи пользователя или роли и разрешают им выполнять определенные операции.

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

владелец базы данных – (Database owner Dbo) имеет полный набор прав по отношению ко всем объектам БД;

системный администратор (System Administrator – SA) имеет полный набор прав по отношению ко всем объектам во всех базах данных на сервере.

Лабораторная работа № 2

Цель работы: создание БД в SQL Server при помощи Enterprise Manag-

er.

.Существует три способа создания БД:

при помощи Enterprise Manager;

при помощи Query Analyser;

при помощи мастера создания базы данных из Enterprise Manager.

Будем создавать базу данных Аэрофлот.

Создание базы данных при помощи Enterprise Manager

1.Запустите утилиту Microsoft SQL Server 2000 Enterprise Manager.

Для этого выполните команду главного меню Пуск, программы, Microsoft SQL Server, Enterprise Manager.

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

Информация, минимально необходимая для создания базы данных

включает:

имя базы данных;

способ хранения;

объем; место расположения;

9

имена файлов базы данных.

Enterprise Manager собирает эту информацию после выполнения команды меню New Database (создать базу данных).

3.Щелкните правой кнопкой мыши на папке Database и выберите в контекстном меню команду New Database. Можно выполнить команду Действие, создать базу данных, создать из главного меню.

4.Откроется диалоговое окно свойств Database Properties с активной вкладкой General (Общие). Введите имя базы данных, в поле со списком внизу окна оставьте строку Server Default (удобнее выбрать этот способ сортировки, т.к. он нечувствителен к регистру, изменение схемы сортировки разрешается только системному администратору SQL Server).

5.Перейдите на вкладку Data Files (Файлы данных). В поле Имя файла заносится имя физического файла, в котором будут храниться данные базы данных. По умолчанию SQL Server присваивает этому файлу имя базы данных с добавление суффикса _Data. Файла базы данных располагаются на жестком диске и имеют имена с расширением MDF (сокращение от Master Data File – Главный файл данных), которым обозначаются файлы первичных данных. В каждой базе данных должен быть минимум один файл первичных данных, в котором содержатся не только данные, записываемые в базу данных, но также установочная информация.

Вследующем столбце – Location, указывается место на жестком дис-

ке, где располагаются файлы базы данных. Если SQL Server расположен на диске C, стандартным каталогом будет C:\Program Files\ Microsoft SQL Server\MSSQL\Data. Если щелкнуть на кнопке с троеточием, откроется окно для указания иного расположения файлов.

Вследующем столбце – Initial size (MB) (Исходный объем, Мбайт) указан объем пустой базы данных. На этапе изучения SQL достаточно указать объем 20 Мбайт.

Впоследнем столбце – Filegroup, указывается принадлежность файла к группе первичных (Primary) или вторичных (Seconddary) данных.

Смысл разделения данных на первичные и вторичные заключается в следующем. Файлы первичных данных содержат системные таблицы. Если флажок Automatically grow file (автоматическое наращивание объема данных) сброшен, файла первичных данных, достигнут скорее всего максимальных пределов и база данных окажется неработоспособной до тех пор, пока не будет увеличен ее максимальный объем.

Щелчком по кнопке Delete удаляется строка из списка Database Files. База данных должна содержать как минимум один файл первичных данных, и если список не будет содержать хотя бы один единственный файл, последует сообщение об ошибке.

Переложим задачу приращения объема базы данных на SQL Server (установка флажка Automatically grow file), необходимо указать величину этого приращения. Для этого предназначена группа параметров File growth

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]