Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка ПО для резервного копирования и восстановления базы данных SQL Server

Тип Курсовая
Предмет Программирование

ID (номер) заказа
3373457

500 руб.

Просмотров
1295
Размер файла
710.93 Кб
Поделиться

Ознакомительный фрагмент работы:

Введение

В настоящее время безопасное хранение данных представляет одну из основных проблем информационной безопасности. Согласно докладу о рисках Всемирного экономического форума 2021 года, утеря и утечка данных являются четвертым и пятым глобальными рисками, с которыми сталкивается каждая организация. По своей значимости эти риски приравниваются к экологическим проблемам. В официальном ежегодном отчете за 2019 год, опубликованном Cybersecurity Ventures, сообщается, что атаки хакеров во всём мире происходят каждые 11 секунд. Специалисты компании InfoWatch в конце года рассказали Известиям, что за прошлый год в сеть утекло более 14 млрд. конфиденциальных записей. Рост числа утечек во всём мире по сравнению с 2018 годом увеличился на 10%, в России – более чем на 40%.
Их этого можно сделать вывод, что хранение данных, должно обеспечивать их целостность. Большинство данных хранятся в базах, так как это является удобным способом взаимодействия с ними. Одной из основных технологий баз данных является Sql Server, который  является системой управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка. Для сохранения целостности баз данных используют такие технологии как их резервное копирование и восстановление.
Глава 1. Основные принципы резервного копирования и восстановления баз данных SQL ServerРезервное копирование базы данных - это процесс загрузки данных (из базы данных, журнала транзакций или файла) на устройства резервного копирования, которые создаются и обслуживаются системой. Устройство резервного копирования может быть дисковым файлом или магнитной лентой. Компонент Database Engine обеспечивает статическое и динамическое резервное копирование. Статическое резервное копирование означает, что во время процесса резервного копирования только один активный сеанс, поддерживаемый системой, является сеансом, создающим резервную копию. Другими словами, во время копирования никакие пользовательские процессы не допускаются. Динамическое резервное копирование означает, что копирование базы данных может выполняться без остановки сервера базы данных, удаления пользователей и даже без закрытия файлов. (Пользователи даже не узнают, что идет процесс резервного копирования.)
Компонент Database Engine предоставляет четыре различных метода резервного копирования:
Полное копирование базы данных;
Дифференцированное резервное копирование;
Резервное копирование протокола транзакции;
Резервное копирование файла или файловой группы.
Полная копия базы данных фиксирует состояние базы данных, каким оно было при запуске копии. Во время полного копирования базы данных система копирует данные, а также схему всех таблиц в базе данных и соответствующие файловые структуры. Если полная копия базы данных выполняется динамически, система базы данных записывает все действия, происходящие во время процесса резервного копирования. Поэтому даже все неподтвержденные транзакции в журнале транзакций будут записаны на устройство резервного копирования.
Все типы резервных копий можно выполнять с помощью двух операторов Transact-SQL:
backup database;
backup log.
Компонент Database Engine позволяет копировать базы данных, журналы транзакций и файлы на устройства резервного копирования, такие как:
1. Диск;
2. Магнитная лента.
Дисковые файлы чаще всего используются для хранения резервных копий. Диск с копией может быть расположен на локальном жестком диске на сервере или на удаленном диске в общей сетевой папке. Компонент Database Engine позволяет добавлять новые копии в файл, который уже содержит копии той же или другой базы данных. Когда вы добавляете новый набор копий на существующий носитель, предыдущее содержимое носителя остается нетронутым, и новая копия записывается после последней копии на этом носителе. (Набор копий включает все сохраненные данные объекта, которые вы выбираете для копирования.) По умолчанию компонент Database Engine всегда добавляет новые копии в файлы на диске.
Магнитная лента обычно используется в качестве устройства хранения резервных копий так же, как и дисковый накопитель. Однако при резервном копировании на ленту ленточное устройство должно быть локально подключено к системе. Преимущество ленточных устройств перед дисковыми - простота администрирования и эксплуатации.
Сценарий восстановления — SQL Server - это процесс восстановления данных из одной или нескольких резервных копий и возврата базы данных в исходное состояние. Поддерживаемые сценарии восстановления зависят от модели восстановления базы данных и выпуска SQL Server.
Для большинства сценариев восстановления необходимо применить резервную копию журнала транзакций и позволить ядру СУБД SQL Server запустить процесс восстановления, чтобы перевести базу данных в оперативный режим. Восстановление - это процесс, используемый SQL Server для запуска каждой базы данных в транзакционно согласованном (чистом) состоянии.
В случае аварийного переключения или другого неясного завершения работы базы данных могут оставаться в состоянии, в котором некоторые изменения не были записаны из буферного кеша в файлы данных, и в файлах данных могут быть некоторые изменения, вызванные незавершенными транзакциями. Когда вы запускаете экземпляр SQL Server, выполняется трехэтапное восстановление каждой базы данных на основе самой последней контрольной точки в базе данных:
На этапе анализа анализируется журнал транзакций для определения последней контрольной точки и создается таблица грязных страниц (DTP) и таблица активных транзакций (TAT). TGS содержит записи о страницах, которые были грязными при выключении базы данных. TAT содержит записи транзакций, которые все еще были активны, когда база данных была аварийно завершена.
На этапе повтора повторяются все зарегистрированные изменения, которые, возможно, не были записаны в файлы данных, когда база данных была закрыта. Минимальный порядковый номер журнала (minLSN), необходимый для успешного восстановления всей базы данных, находится в TGS и отмечает начало операций восстановления, необходимых для всех грязных страниц. На этом этапе компонент SQL Server Database Engine записывает на диск все грязные страницы, принадлежащие зафиксированным транзакциям.
На этапе отката выполняется откат ожидающих транзакций, обнаруженных в TAT, чтобы гарантировать сохранение целостности базы данных. После отката база данных переводится в оперативный режим, и больше нельзя применять резервные копии журнала транзакций.
Цель полного восстановления - восстановить всю базу данных. База данных отключена во время периода восстановления. Перед тем, как какая-либо часть базы данных перейдет в оперативный режим, все данные восстанавливаются до точки согласованности, когда все части базы данных находятся в один и тот же момент времени и отсутствуют незавершенные транзакции.
В режиме полного восстановления после восстановления резервных копий данных необходимо восстановить все последующие резервные копии журналов транзакций, а затем и саму базу данных. База данных может быть восстановлена до определенной точки восстановления в одной из этих резервных копий журнала. Этой точкой восстановления может быть указанная дата и время, помеченная транзакция или порядковый номер журнала (LSN).
При восстановлении базы данных, особенно при использовании модели восстановления с полным или неполным протоколированием, используйте одну последовательность восстановления. Последовательность восстановления состоит из одной или нескольких операций восстановления, которые перемещают данные в одну или несколько фаз восстановления.
Глава 2. Создание программного обеспечения для резервного копирование и восстановления базы данных.При создании программного обеспечения для резервного копирования и восстановления базы данных SQL Server, использовалась среда разработки Microsoft Visual Studio 2019, язык программирования C# на Windows Forms. Структурная схема программы была составлена средствами программного обеспечения Graph Editor и представлена на Рисунке 1.

Рисунок SEQ Рисунок \* ARABIC 1. Структурная схема программы
При создании программного обеспечения использовались два основных класса:
Form.csBD.csForm.cs – является классом, в котором происходит реализация отклика графических элементов.
public partial class Form1 : Form
{
//Создание объекта класса
BD bD = BD.getInstance();
public Form1()
{
InitializeComponent();
}
//Обработчик нажатия на кнопку Подключиться
private void buttonConnect_Click(object sender, EventArgs e)
{
//Считывание значений с textBoxs string Server = textBoxNameServer.Text;
string NameUser = textBoxNameUser.Text;
string Pass = textBoxPass.Text;
//Вызов метода подключения к базе данных, который находится в классе BD
bD.Connection(Server, NameUser, Pass);
}
// Обработчик нажатия на кнопку Резервное копирование
private void buttonCopy_Click(object sender, EventArgs e)
{
// Считывание значения из textBox string NameBase = textBoxNameBase.Text;
// Вызов диалогового окна для выбора файла
FolderBrowserDialog folderDlg = new FolderBrowserDialog();
folderDlg.ShowNewFolderButton = true;
DialogResult result = folderDlg.ShowDialog();
if (result == DialogResult.OK)
{
// Присваивание переменной пути до файла
string Directory = folderDlg.SelectedPath;
// Обработчик исходов резервного копирования
int state = bD.Backup(NameBase, Directory);
switch (state)
{
case 0:
MessageBox.Show("Резервное копирование завершено");
break;
case 1:
MessageBox.Show("Ошибка резервного копирования");
break;
case 2:
MessageBox.Show("Вы не подключены к Sql Server");
break;
}
}
}
// Обработчик нажатия на кнопку Выбрать файл
private void buttonRecovery_Click(object sender, EventArgs e)
{
// Открытие диалогового окна
OpenFileDialog OPF = new OpenFileDialog();
if (OPF.ShowDialog() == DialogResult.OK)
{
// Контроль выбора файла формата .bak if (OPF.FileName.Substring(OPF.FileName.Length - 3, 3) != "bak")
{
MessageBox.Show("Вы не выбрали .bak файл");
}
else {
// Отработка метода восстановления базы данных и возвращения исхода
int state = bD.Recovery(OPF.FileName, Path.GetFileNameWithoutExtension(OPF.FileName));
switch (state)
{
case 0:
MessageBox.Show("Восстановление завершено");
break;
case 1:
MessageBox.Show("Ошибка восстановления");
break;
case 2:
MessageBox.Show("Вы не подключены к Sql Server");
break;
}
}
}

Из выше представленного фрагмента кода, можно сделать вывод, что в классе реализованы три основных метода:
Обработчик события нажатия на кнопку «Подключиться» (private void buttonConnect_Click(object sender, EventArgs e))
Обработчик события нажатия на кнопку «Резервное копирование» (private void buttonCopy_Click(object sender, EventArgs e))
Обработчик события нажатия на кнопку «Выбрать файл» (private void buttonRecovery_Click(object sender, EventArgs e))
BD.cs – является классом взаимодействия команд, созданных на языке программирования C#, с языком SQL, который используется для создания и выполнения запросов, посылаемых в SQL Server.
class BD
{
// Начало создания паттерна одиночки (singlton)
private static BD instance;
private BD()
{ }
public static BD getInstance()
{
if (instance == null)
instance = new BD();
return instance;
}
//Конец создания паттерна
//Объявление поля типа SqlConnection SqlConnection conn;
//Подключение к базе данных
public void Connection(string datasource, string nameUser, string pass)
{
//Создание строки
string connString = @"Data Source=" + datasource + ";User Id = " + nameUser + "; Password = " + pass + ";";
//Создание объекта
conn = new SqlConnection(connString);
}
//Метод резевного копирования базы данных
public int Backup(string NameBase, string Directory)
{
//Создание строки
string sqlExpression = " BACKUP DATABASE[" + NameBase + "] TO DISK = N'" + @Directory + @"\" + NameBase + ".bak' WITH NOFORMAT, NOINIT, NAME = N'" + NameBase + "-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
//Проверка на наличие объекта
if (conn != null)
{
try {
//Открытие соединения
conn.Open();
//Создание команды
SqlCommand command = new SqlCommand(sqlExpression, conn);
//Исполнение команды
command.ExecuteScalar();
//Закрытие соединения
conn.Close();
return 0;
}
catch {
conn.Close();
return 1;
}
}
else {
conn.Close();
return 2;
}
}
//Метод восстановления базы данных
public int Recovery(string FileNamePath, string FileName)
{
//Создание строки
string sqlExpression = " USE [master] RESTORE DATABASE["+FileName+"] FROM DISK = N'"+FileNamePath+"' WITH FILE = 1, NOUNLOAD, STATS = 5";
// Проверка на наличие объекта соединения
if (conn != null)
{
try {
// Открываем соединение
conn.Open();
// Создание объекта команды
SqlCommand command = new SqlCommand(sqlExpression, conn);
// Исполнение команды
command.ExecuteScalar();
// Закрытие соединения
conn.Close();
return 0;
}
catch {
conn.Close();
return 1;
}
}
else {
conn.Close();
return 2;
}
}
Анализируя выше представленный фрагмент кода можно сделать вывод, что в классе реализованы три основных метода:
Метод соединения с SQL Server
public void Connection(string datasource, string nameUser, string pass)
Метод резервного копирования базы данных
public int Backup(string NameBase, string Directory)
Метод восстановления базы данных
public int Recovery(string FileNamePath, string FileName)
Глава 3. Графическое описание программного обеспеченияДля графической составляющей программного обеспечения использовался механизм Windows Forms. На Рисунке 2 представлено основное окно программного обеспечения.

Рисунок SEQ Рисунок \* ARABIC 2. Основная форма программы
Данная форма делится на три блока:
Блок подключения к серверу;
Блок резервного копирования;
Блок восстановления базы данных.
Глава 4. Тестирование работы программного обеспеченияСоздадим тестовую базу данных в SQL Server:

Рисунок SEQ Рисунок \* ARABIC 3. Соединение с SQL Server через менеджер управления SQL

Рисунок SEQ Рисунок \* ARABIC 4. Тестовая база данных
Сделаем ее резервную копию через наше программное обеспечение:

Рисунок SEQ Рисунок \* ARABIC 5. Резервное копирование тестовой базы данных

Рисунок SEQ Рисунок \* ARABIC 6. Временное подтверждение резервного копирования
Удалим тестовую базу данных из списка баз данных SQL Server:

Рисунок SEQ Рисунок \* ARABIC 7. Удаление тестовой базы данных

Рисунок SEQ Рисунок \* ARABIC 8. Проверка на отсутствие тестовой базы данных
Восстановим тестовую базу данных с помощью нашего программного обеспечения:

Рисунок SEQ Рисунок \* ARABIC 9. Восстановление тестовой базы данных

Рисунок SEQ Рисунок \* ARABIC 10. Временное подтверждение восстановления тестовой базы данных.
ЗаключениеВ ходе данной работы были рассмотрены основные факторы и алгоритмы, позволяющие провести резервное копирования и восстановление базы данных SQL Server. Построена структурная схема программы, по которой было реализовано программное обеспечение, позволяющее совершать резервное копирование и восстановление базы данных, не использую среду Microsoft SQL Server Management Studio.
Список используемых источниковШилдт, Герберт. C# 4.0: полное руководство. Пер. с англ. — М: ООО «И.Д. Вильямс». Москва, 2011. — 1056 с.
Осетрова И.С., Разработка баз данных в MS SQL Server 2014. - СПб: Университет ИТМО, 2016. – 114 с.
Шарп Джон Microsoft Visual C#. Подробное руководство. 8-е изд. — СПб.: Питер, 2017. — 848 с.: ил. — (Серия «Библиотека программиста»)


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
54 132 оценки star star star star star
среднее 4.9 из 5
ТюмГУ
Спасибо большое за курсовую работу!! Оригинальность 75%, оценка отлично
star star star star star
СПбГУ
Очень грамотное написание курсовой, видно, что исполнитель разбирается в теме работы и пиш...
star star star star star
РЭУ им.Плеханова
Благодарю Евгению за выполнение работы,оценка-отлично.Сделано -все как положено,грамотно и...
star star star star star

Последние размещённые задания

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

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

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

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно
    Введите ваш e-mail
    Файл с работой придёт вам на почту после оплаты заказа
    Успешно!
    Работа доступна для скачивания 🤗.