Автоматичне створення архівних копій на MS SQL-server Express edition

В зв’язку з непередбачуваними відключеннями електропостачання більш гостро, ніж завжди, постає питання створення резервних копій баз даних. Зокрема у формі sql-backup – файлів, які містять архівні копії баз даних (архіви). В разі використання для роботи Комплексу в якості СКБД MS SQL-server Express edition є певні складнощі. Ця редакція SQL-server не має «Агента», який дозволяє налаштувати автоматичне збереження архівів баз даних у зручному графічному інтерфейсі. Це обмеження даного випуску. Тому для автоматичного архівування баз даних пропонується використовувати утиліту sqlcmd.exe, яка входить до складу ПЗ MS SQL-server.

Роботу утиліти розглянемо на конкретному прикладі. Для своїх потреб, замість наведених імен, паролів, шляхів, тощо, необхідно зазначити свої данні.

Опис прикладу:

Бази, які використовуються в Комплексі, робоча та системна: IS8_001 та IS8_SYS.

Ім’я сервера, де встановлено MS SQL-server Express edition: Server_IS_pro .

Каталог для зберігання архівних копій (на сервері) - D:\Backup .

Користувач MS SQL-server, від імені якого створюються архіви баз даних: archivist, пароль Kwa3raza!

Автоматично повинні видалятись архіви старші 30 днів.

За допомогою SQL Server Management Studio створюємо користувача archivist , який буде використовуватись для створення архівів. Задля безпеки надаємо йому мінімальні права.



Відкрити будь-який текстовий редактор, наприклад блокнот Windows. В ньому записати наступне:



Зберегти у файл з розширенням bat. Наприклад: BackUpDB_IS8.bat.

Запустити файл BackUpDB_IS8.bat для перевірки. В результаті повинні сформуватися 2 нових файли в каталозі D:\Backup, які і є архівними копіями баз даних.



Далі, налаштувати завдання в планувальнику Windows, яке буде запускати файл BackUpDB_IS8.bat раз на добу. Бажано, в той час, коли з базами ніхто не працює.
Примітка: Слід пам’ятати, що при подібному способі створення архівів баз даних, в текстовому файлі (BackUpDB_IS8.bat в прикладі) явно вказується логін і пароль користувача MS SQL-server «archivist». І, хоча він має мінімальні права, необхідно дотримуватись правил обмеження доступу до цього файлу з боку сторонніх осіб.
Примітка: По мірі роботи створеного завдання в каталозі D:\Backup будуть накопичуватись файли архівів баз даних, які можуть займати значну кількість дискового простору. Необхідно зайві (застарілі) архіви знищувати та коригувати рядок (зменшувати кількість днів) в bat-файлі, який має робити це автоматично.