В начало

Лекция. СУБД MS SQL Server

 

            В среде SQL Server существует три способа создания базы данных:

-       при помощи мастера Create Database Wizard;

-       средствами Enterprise Manager;

-       командами языка SQL, которые сохраняются в файлах сценариев.

 

Рассмотрим функции Enterprise Manager создания, резервного копирования и восстановления БД на примере базы данных «Сессия».

 

28.1. Создание БД «Сессия»

Для создания базы данных после запуска Enterprise Manager необходимо выполнить следующую последовательность действий.

1. Выбрать сервер, на котором создается БД. Выбор сервера осуществляется в левой панели открывшегося окна «Console Root». Раскрыв группу «SQL Server», пользователь получает доступ к зарегистрированным серверам и может выбрать имя сервера, на котором будем создаваться база данных.

2. Создать БД и спланировать местоположение файлов. Для создания новой БД необходимо раскрыть папку «Databases» и с помощью контекстного меню или общего меню среды инициировать команду <New Database>. После вызова команды откроется диалоговое окно «Database Properties» с тремя вкладками: «General», «Data Files» и «Transaction Log». На первой вкладке необходимо ввести имя базы данных – «Сессия». На двух следующих – определить имена и местоположение файлов базы данных. По умолчанию все файлы располагаются в каталоге \MSSQL\DATA. Для изменения предлагаемого местоположения файлов БД необходимо в столбце Location ввести новый путь (слайд 2).

Аналогично настраивается файл журнала транзакций на вкладке Transaction Log. После настройки параметров необходимо закрыть диалоговое окно (кнопка <OK>). При этом имя новой базы данных добавится в список баз данных, отображаемый в окне «Console Root».

 

3. Создать таблицы БД. Порядок создания таблиц проиллюстрируем на примере таблицы «Студенты» в составе базы данных «Сессия». Раскрыв базу данных «Сессия» в окне Console Root, пользователь получает доступ к объектам БД. Далее, открыв папку «Tables», пользователь имеет возможность инициировать команду контекстного меню или главного меню среды <New Table>. После вызова команды откроется диалоговое окно «New Table», в котором задаются имена полей, их типы и другие параметры. При необходимости вставить новое поле между двумя уже существующими следует инициировать команду контекстного меню <Insert Column>. Удалить поле можно с помощью команды <Delete Column>.

Поле ID_Студент в таблице является первичным ключом. Для присвоения полю (или совокупности полей) статуса первичного ключа служит пиктограмма на панели инструментов с изображением ключа (необходимо выделить поле или группу полей и активизировать пиктограмму).

Чтобы построить индекс для поля, необходимо в контекстном меню выбрать команду <Indexes/Keys>. Откроется диалоговое окно «Properties» (Слайд 4). Окно имеет четыре вкладки, с помощью которых задаются различные свойства таблицы. Так, например, на вкладке «Relationships» определяются связи между текущей таблицей и остальными таблицами базы данных. Вкладка «Indexes/Keys» позволяет получить информацию о существующих индексах и построить новый.

Для создания индекса служит управляющая кнопка <New>. Чтобы построить, например, индекс для поля «Фамилия», необходимо активизировать кнопку и выбрать в колонке «Column name» поле «Фамилия». Строка ввода «Index name» служит для задания имени нового индекса. Остальные интерфейсные элементы служат для определения параметров создаваемого индекса.

После задания всех полей таблицы необходимо закрыть окно «New Table» и в открывшемся диалоговом окне «Choose Name» указать ее имя.

 

4. Ввести в таблицы данные. Чтобы ввести данные в таблицу (например, в созданную на предыдущем шаге таблицу «Студенты»), необходимо:

-       в окне Console Root на левой панели раскрыть папку базы данных «Сессия»;

-       выбрать объект «Tables» в открывшемся списке, чтобы просмотреть весь список таблиц на правой панели окна

-       выделить таблицу «Студенты» на правой панели и активизировать команду контекстного меню Open table->Retun all rows.

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

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

 

28.2. Резервное копирование базы данных

Важным этапом ведения баз данных являются операции резервного копирования (backup) и восстановления (restore) БД.

Резервное копирование и восстановление можно выполнить с помощью Enterprise Manager, «мастера» или T-SQL. Для размещения архивных копий должно быть создано логическое устройство (которое может быть и отдельным физическим устройством).

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

Чтобы выполнить функцию резервного копирования базы данных «Сессия», необходимо:

-           в окне «Console Root» на левой панели открыть папку базы данных «Сессия»;

-           в строке главного меню инициировать команду Tools->Backup Database;

-           задать параметры копирования в диалоговом окне SQL Server Backup (слайд 6).

 

Имя архива (строка ввода «Name») по умолчанию генерируется автоматически на основе имени базы данных и при желании может быть изменено.

Описание архива (строка ввода «Description») является необязательным параметром.

В области «Backup» расположены переключатели режимов архивирования:

-       Database Complete – полное архивирование;

-       Database Differential – копируются данные только измененные с момента создания последней резервной копии.

В области «Destination» необходимо указать расположение архивной копии. Кнопка <Add> позволяет открыть окно «Select Backup Destination» (слайд 7). Далее необходимо либо ввести в строку «File Name» идентификатор файла, либо выбрать устройство резервного копирования из списка «Backup Device». Кнопка <OK> возвращает в окно «SQL Server Backup».

 

В области «Overwrite» предлагается записать резервную копию на свободное место (Append to media) или вместо других копий (Overwrite Existing media).

В области «Schedule» предлагается выполнить архивирование немедленно или спланировать его на другое время. Чтобы создать расписание архивирования, необходимо пометить флажок «Schedule» и раскрыть диалоговое окно «Edit Schedule» (слайд 8) с помощью кнопки «…» (Browse).

 

Для каждого расписания задается имя (строка ввода «Name»). В области «Schedule Type» можно указать, следует делать архивную копию автоматически при запуске SQL Server Agent или отложить до тех пор, пока не снизится нагрузка на процессор. Здесь же настраивается частота резервного копирования. Дата и время копирования устанавливается с помощью счетчиков «On Date» и «At Time» соответственно.

Для настройки регулярного архивирования необходимо активизировать кнопку «Change». Откроется окно «Edit Recurring Job Schedule», с помощью которого создается расписание регулярного архивирования.

 

28.3. Восстановление базы данных

Чтобы восстановить базу данных из резервной копии необходимо:

-       в окне Console Root на левой панели открыть папку базы данных «Сессия»;

-       в строке главного меню выбрать команду Tools->Restore Database. Откроется диалоговое окно c таким же именем;

-       в списке «Restore as Database» диалогового окна «Restore Database» выбрать имя восстанавливаемой базы данных (в нашем примере - «Сессия»);

-       в секции «Restore» установить переключатель режимов, определяющий тип операции восстановления. Режим «Database» применяется для восстановления всей базы данных, режим «Filegroups Or Files»  - для восстановления файлов и групп файлов, режим «From Device» – для восстановления архива с конкретного устройства.

В области «Parameters» можно отобразить архивы указанных баз данных и просмотреть их свойства, выбрав архив в списке и активизировав кнопку «Properties».

Чтобы начать восстановление, следует нажать кнопку OK на окне Restore Database. В итоге появиться сообщение об успешном завершении операции или возникшей ошибке.