Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Кибернетика и программирование
Правильная ссылка на статью:

Применение языка сценариев Widows PowerShell для управления резервным копированием баз данных Microsoft SQL Server для управления социальной защиты

Милованов Максим Михайлович

старший преподаватель, кафедра информационных технологий в металлургии, Сибирский государственный индустриальный университет

654007, Россия, Кемеровская область, г. Новокузнецк, ул. Кирова, 42

Milovanov Maksim Mikhailovich

Senior Lecturer, Siberian State Industrial University

654007, Russia, Kemerovskaya oblast', g. Novokuznetsk, ul. Kirova, 42

mirovan@narod.ru
Другие публикации этого автора
 

 

DOI:

10.7256/2306-4196.2015.3.15410

Дата направления статьи в редакцию:

29-05-2015


Дата публикации:

14-06-2015


Аннотация: В настоящее время очень важно сохранять накопленные данные. Развитие современных информационных технологий, использование баз данных заставляет задумываться о хранении и резервном копировании больших данных. Высокие требования к скорости восстановления данных предполагают правильную организацию резервного копирования и хранения данных. На основе этого, в статье рассмотрен опыт применения настройки резервного копирования с помощью оболочки командной строки и языка сценариев Windows PowerShell. Описывается механизм и результаты примененной методики. В качестве объекта исследования используются IT-процессы, проходящие в организации. В основе метода исследования лежит наблюдение за IT-процессами. В статье рассматривается применение обновленного средства командной строки Windows PowerShell, взамен устаревшей командной строки. Дан краткий обзор основных команд, применяемых для написания PS исполняемого скрипта. Рассмотрено применения разработанного скрипта для резервного копирования и хранения баз данных. Использование данной методики подтверждает свою надежность на протяжении длительного времени на основе тестирования на различных платформах. Благодаря данной методике возрастает эффективность применения IT, надежность информационных процессов, оптимизация рабочего времени сотрудников.


Ключевые слова:

базы данных, powershell, скрипт, windows, резервное копирование, программное обеспечение, IT-процессы, алгоритм, архивация данных, большие данные

Abstract: At the present time it is very important to save gathered data. The development of modern information technologies, using databases raises questions of storing and backups for big amount of data. The high requirements to the speed of data recovery imply the correct organization of storing data and backups. Keeping that in mind the author shares his experience of setting up making of backups in command line using Windows PowerShell scripts. The article describes mechanisms and results of the applied technique. The research is focused on the observing IT-processes. The article reviews usage of upgraded Windows PowerShell command line instead of outdated command line. The author presents a short review of the main commands used in writing a PowerShell script. The article gives examples of using the developed script for backing up and storing databases. Using this technique proves to be reliable for a long time based on the tests on different platforms. This method increases the efficiency of IT, the reliability of information processes and optimization of employee time.


Keywords:

big data, data archiving, database, powershell, script, windows, baskup, software, IT-process, algoritm

В связи с интеграцией всех IT-процессов происходящих в Комитете социальной защиты г. Новокузнецка в единое информационное пространство, на базе управления социальной защиты г. Новокузнецка Куйбышевского района была внедрена автоматизированная система «Адресная социальная помощь» (разработка ООО «СоцИнформТех» г.Тула). Для данного программного обеспечения был выдел отдельный восьмиядерный сервер под управлением операционной системы Windows Server 2003. Программа работает на платформе .NET в связке с Microsoft SQL Server 2008. Ежедневно в программу заносится большой объем данных. В системе работают более 50 пользователей. В функции программного обеспечения входит расчет и начисление льгот, выплат населению по различным видам услуг – выплаты ЖКХ, социальных пособия и т.д. Ежемесячно выплаты рассчитываются по всем объектам программы – дома, люди и т.д.

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

Для этих целей было решено использовать механизм от компании Microsoft ­– Windows PowerShell. PowerShell – это оболочка командной строки на основе задач, а также язык сценариев, предназначенный специально для системного администрирования. Созданная на основе .NET Framework, служба Windows PowerShell помогает ИТ-специалистам и опытным пользователям в управлении и автоматизации администрирования операционной системы Windows, а также приложений, работающих под управлением Windows [1].

Алгоритм [2] создания резервных копий следующий (Рис. 1):

  1. Запуск агента администрирования MS SQL и создание резервной bak-копии базы данных.
  2. Запуск PowerShell сценария.
  3. Архивация всех резервных копий базы данных.
  4. Копирование данных на сервер резервных копий [3].
  5. Копирование резервной копии базы данных на FTP сервер.
  6. Удаление с текущего сервера файлов резервных копий и архивов.

.png

Рис. 1. Схема создания резервной копии

Важно отметить следующую особенность исполнения скрипта. Сам PS-скрипт устроен таким образом, что запуск внешних процессов из него не требует их завершения. Т.е. программа не будет ждать окончания работы архивации и перейдет к следующему этапу. Поэтому для решения этой задачи использован метод класса Process - WaitForExit().

Таким образом, сначала происходит запрос на получение всех резервных копий с помощью конструкции:

$files = Get-ChildItem *.bak -name | sort CreationTime

После получения списка файлов происходит формировании строки аргументов для архиватора и вызов метода WaitForExit() класса Process:

foreach ($file in $files) {

$arg = "a " + $rarDir + $file + ".rar " + $file

[diagnostics.process]::start("rar.exe", $arg).WaitForExit()

}

Данный способ резервного копирования не использует сторонних программ, а использует только лишь средства .NET и PowerShell, что позволяет быть уверенным в надежности его работы. Разработанная методика хранения файлов резервных копий показала свою надежность. При технических сбоях в системе электропитания, выходе их строя сервера и др., работоспособное состояние приложения восстанавливается в течение часа на любом компьютере имеющем соответствующую конфигурацию. Механизм создания резервных копий и их архивации был протестирован на платформах Windows 7, 2003 Server, 2008 Server.

Библиография
1. https://technet.microsoft.com/ru-ru/library/bb978526.aspx [Электронный ресурс]
2. Милованов М.М. Информационные технологии. Электронный учебно-методический комплекс / Электрон. дан.-Новокузнецк: СибГИУ, 2014.:ил.-1 электронный DVD диск (DVD-ROM); № гос. регистрации 0321400939
3. Ермакова Л.А. Информатика: электронный учебно-методический комплекс [Электронный ресурс] / Электрон. дан.-Новокузнецк: СибГИУ, 2014.-148c.:ил.-1 электронный DVD диск (DVD-ROM); 12 см.-№ гос. регистрации 032140093
4. Лабковская Р.Я., Козлов А.С., Пирожникова О.И., Коробейников А.Г. Моделирование динамики чувствительных элементов герконов систем управления // Кибернетика и программирование. - 2014. - 5. - C. 70 - 77. DOI: 10.7256/2306-4196.2014.5.13309. URL: http://www.e-notabene.ru/kp/article_13309.html
5. Боровский А.А. Перспективы применения технологий машинного обучения к обработке больших массивов исторических данных // Кибернетика и программирование. - 2015. - 1. - C. 77 - 114. DOI: 10.7256/2306-4196.2015.1.13730. URL: http://www.e-notabene.ru/kp/article_13730.html
6. Сокольников А.М. Сравнительный анализ подходов к разработке архитектуры и систем управления базами данных для высоконагруженных WEB-сервисов // Кибернетика и программирование. - 2014. - 4. - C. 1 - 13. DOI: 10.7256/2306-4196.2014.4.12800. URL: http://www.e-notabene.ru/kp/article_12800.html
7. Гатчин Ю.А., Ловлин А.Ю., Васильев Е.А. Модернизация автоматизированного программного комплекса тестирования государственных служащих // Кибернетика и программирование. - 2013. - 2. - C. 29 - 35. DOI: 10.7256/2306-4196.2013.2.8306. URL: http://www.e-notabene.ru/kp/article_8306.html
References
1. https://technet.microsoft.com/ru-ru/library/bb978526.aspx [Elektronnyi resurs]
2. Milovanov M.M. Informatsionnye tekhnologii. Elektronnyi uchebno-metodicheskii kompleks / Elektron. dan.-Novokuznetsk: SibGIU, 2014.:il.-1 elektronnyi DVD disk (DVD-ROM); № gos. registratsii 0321400939
3. Ermakova L.A. Informatika: elektronnyi uchebno-metodicheskii kompleks [Elektronnyi resurs] / Elektron. dan.-Novokuznetsk: SibGIU, 2014.-148c.:il.-1 elektronnyi DVD disk (DVD-ROM); 12 sm.-№ gos. registratsii 032140093
4. Labkovskaya R.Ya., Kozlov A.S., Pirozhnikova O.I., Korobeinikov A.G. Modelirovanie dinamiki chuvstvitel'nykh elementov gerkonov sistem upravleniya // Kibernetika i programmirovanie. - 2014. - 5. - C. 70 - 77. DOI: 10.7256/2306-4196.2014.5.13309. URL: http://www.e-notabene.ru/kp/article_13309.html
5. Borovskii A.A. Perspektivy primeneniya tekhnologii mashinnogo obucheniya k obrabotke bol'shikh massivov istoricheskikh dannykh // Kibernetika i programmirovanie. - 2015. - 1. - C. 77 - 114. DOI: 10.7256/2306-4196.2015.1.13730. URL: http://www.e-notabene.ru/kp/article_13730.html
6. Sokol'nikov A.M. Sravnitel'nyi analiz podkhodov k razrabotke arkhitektury i sistem upravleniya bazami dannykh dlya vysokonagruzhennykh WEB-servisov // Kibernetika i programmirovanie. - 2014. - 4. - C. 1 - 13. DOI: 10.7256/2306-4196.2014.4.12800. URL: http://www.e-notabene.ru/kp/article_12800.html
7. Gatchin Yu.A., Lovlin A.Yu., Vasil'ev E.A. Modernizatsiya avtomatizirovannogo programmnogo kompleksa testirovaniya gosudarstvennykh sluzhashchikh // Kibernetika i programmirovanie. - 2013. - 2. - C. 29 - 35. DOI: 10.7256/2306-4196.2013.2.8306. URL: http://www.e-notabene.ru/kp/article_8306.html