Сведения о средствах реализации
1.
Для проведения репликации нам понадобится база данных с таблицами, которые мы создадим с помощью декларированного языка SQL в Microsoft SQL Server.
SQL — это язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей СУБД. Операторы языка SQL:
- DDL — Data Definition Language;
- DML — Data Manipulation Language;
- DCL — Data Control Language;
- TCL — Transaction Control Language.
1. DDL (Data Definition Language, язык описания данных) — язык, включающий операторы для работы со структурой данных. Операторы DDL нужны для реализации этих возможностей:
Создание объектов базы данных (таблиц, схем). Оператор: CREATE.
Удаление объектов базы данных. Оператор: DROP.
Изменение объектов базы данных. Оператор: ALTER.
DDL используется, когда нужно создать структуру для хранения данных. Он не отвечает за сами данные — только за то, как они будут разделены по таблицам и схемам.
2. DML (Data Manipulation Language, язык манипуляции данными) — язык, который нужен для добавления, удаления, изменения данных и для выборки их из базы. Иными словами, для манипулирования данными. Пройдёмся по операторам:
Оператор SELECT позволяет выбрать данные.
Оператор INSERT — добавить новые.
Оператор UPDATE — изменить существующие.
Оператор DELETE — удалить.
3. DCL (Data Control Language, язык управления доступом к данным) — набор операторов, необходимых для предоставления доступа к данным. Кроме данных, в БД есть такие сущности, как пользователи. Нужно обязательно иметь возможность ограничить пользователям доступ к данным. Для этого есть три группы операторов.
|
|
GRANT — оператор предоставления пользователю или группе набор каких-либо разрешений;
REVOKE — оператор отзыва разрешений.
4. TCL
Есть такое понятие, как транзакции. Это набор команд (там может быть и всего одна), который завершается успешно тогда, когда правильно выполнены все команды из него. В случае неудачного завершения одной команды из транзакции, она вся откатывается (отменяются результаты выполнения предыдущих команд), реализуя принцип атомарности. Обычно в транзакцию включаются DML-команды.
Для управления транзакциями существует TCL (Transaction Control Language — язык управления транзакциями). Операторы здесь следующие:
BEGIN TRANSACTION — необходим для обозначения начала транзакции;
COMMIT TRANSACTION — применяет изменения команд внутри транзакции;
ROLLBACK TRANSACTION — откатывает транзакцию;
SAVE TRANSACTION — указывает промежуточную точку сохранения внутри транзакции.
Программная реализация
Для создания и демонстрации репликаций была выбрана СУБД – MS SQL Server, а именно MS SQL Server 2018.
Первым делом было выполнено подключение к серверу с проверкой подлинности Windows (рисунок 1).
|
|
Рисунок 1 – Подключение
Затем было выполнено подключение через проверку подлинности SQL Server – заполнением полей «Имя пользователя» и «Пароль» (рисунок 2).
Рисунок 2 – Подключение
В результате вышло несколько активных соединений (рисунок 3).
Рисунок 3 – Подключения
Затем был выбран пункт в структуре одного из подключений «Репликация». Нажатием ПКМ по этому пункту выбрали настройку распределния (рисунок 4).
Рисунок 4 – Настройка распределения
В появившимся окошке настроек была выбрана автоматическая настройка запуска службы агента SQL Server (рисунок 5).
Рисунок 5 – Настройка агента
А в последнем окне настройки было выбрано «Настройка распространения» (рисунок 6).
Рисунок 6 – Настройка распространения
В результате была завершена первичная настройка репликации.
Затем была создана отдельная БД (база данных) с внутренними данными в виде заполненной таблице. На рисунке 7 представлен скрипт по созданию и заполнению таблицы kursovRabota.
Рисунок 7 – Создание базы данных и таблицы
Также в результате первичной настройки репликации был настроен SQL Server Agent (рисунок 8).
|
|
Рисунок 8 – Проверка появления SQL Server Agent
После чего была выполнена дополнительная часть настройки репликации (рисунок 9).
Рисунок 9 – Создание новой публикации
В появившемся окне была нажата кнопка «Далее». После был выбран распространитель (рисунок 10).
Рисунок 10 – Выбор распространителя
На последующем шаге настройки был выбран автоматический запуск службы агента SQL Server. Затем была выбрана созданная база данных «publishDB» (рисунок 11).
Рисунок 11 – Выбор базы данных
Установлен тип публикации – «Публикация транзакций» (рисунок 12).
Рисунок 12 – Выбор типа публикации
По завершению настройки зададим имя публикации – «KURS» (рисунок 13).
Рисунок 13 – Выставление имени публикации
После настройки новой публикации аналогичным образом был настроен новый подписчик. Затем проверили работу настроенной репликации.
Для начала просмотрим содержимое БД:
Рисунок 14 – Содержимое БД
После этого в соединении под пользователем «DESKTOP-6L8OSO8\Nikita» была удалена строка из таблицы – kursovRabota (рисунок 15). А также вновь проверено содержимое таблицы.
|
|
Рисунок 15 – Удаление одной строки
Теперь выполним запрос Select * from [publishDB].[dbo].kursovRabota из под пользователя DESKTOP-6L8OSO8_slave (рисунок 16).
Рисунок 16 – Выполнение запроса из под другого пользователя
Также была создана таблица в мастер БД, которая, после, была наполнена данными (рисунок 17).
Рисунок 17 – создание и заполнение новой таблицы
Были использованы операторы CREATE (язык DDL), а также INSERT (язык DML). Затем была выполнена проверка в реплике (рисунок 18).
Рисунок 18 – проверка значеий в реплике
Как можем заметить настройка репликации транзакций в SQL Server прошла успешно, так как изменения относительно пользователя «DESKTOP-6L8OSO8\Nikita» были также отражены относительно другого пользователя.
Также в работе репликации можем убедиться через Монитор Репликации (рисунок 17).
Рисунок 17 – Проверка репликации
Заключение
В результате выполнения курсовой работы были закреплены теоретические знания по дисциплине «Администрирование серверов баз данных».
Было установлено, что репликация позволяет тиражировать изменения из “master” сервера на реплики. Это, в свою очередь, указывает на преимущества репликаций, а именно: производительность, масштабируемость, отказоустойчивость, копирование данных, отложенные вычисления (выполнение запросов на отдельной реплике с целью предотвращения замедления всей системы).
Также были закреплены практические навыки по администрированию серверов баз данных, а именно:
1) Реализованы базы данных с их последующим наполнением.
2) Созданы репликации транзакций с помощью Microsoft SQL Server.
3) Настроены репликации транзакций в СУБД MS SQL Server.
Как итог была создана и настроена репликация транзакций в SQL Server Management 2019, позволяющая тиражировать изменения на реплики.
Все поставленные задачи и цели были выполнены.
Список литературы
1. Флёнов. М Transact-SQL: Учебное пособие [текст]/ М. Фленов – М.: БХВ-Петербург, 2006. – 576 с.Фиайли К. SQL: Пер. с англ. – М.: ДМК Пресс. – 456 с.: ил. (Серия «Quick Start»).
2. И.Бен-Ган И. Моделирование баз данных: учебное пособие [текст]/ И. Бен-Ган. –СПб.: БХВ-Петербург, 2009 – 430 с.
3. Общие принципы разработки программных средств [Электронный ресурс] – режим доступа: http://bourabai.ru/alg/pro03.htm.
4. SQL запросы для начинающих – все, что нужно знать [Электронный ресурс] – режим доступа: http://start-luck.ru/dlya-novichka/sql-zaprosy-dlya-nachinayushchih.html.
5. Microsoft SQL Server – Википедия [Электронный ресурс] – режим доступа: https://ru.wikipedia.org/wiki/Microsoft_SQL_Server.
6. SQL – Википедия [Электронный ресурс] – режим доступа: https://ru.wikipedia.org/wiki/SQL.
7. Основы репликации в MySQL – Хабр [Электронный ресурс] – режим доступа: https://habr.com/ru/post/56702/.
8. Администратор баз данных – Википедия [Электронный ресурс] – режим доступа: https://ru.wikipedia.org/wiki/Администратор_баз_данных.
Дата добавления: 2021-06-02; просмотров: 56; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!