Що є обслуговування бази даних, Реальні нотатки Ubuntu - Mikrotik
У мене база має:
Модель відновлення - Проста
Модель відновлення кожен системний адміністратор вибирає собі Сам досить лише раз прочитати документацію, як було справу зі мною, раніше не особливо розбиравшись що і для чого. Тут я хочу скласти невелику шпаргалку на цю тему:
Проста модель відновлення - відновити дані я можу тільки на момент повного резервування бази даних. А все подальше додавання користувачами буде втрачено. На поточному місці ми просто робимо щоденний бекап баз із подальшою верифікацією та максимальним стисненням. Наприклад зробили вночі бекап, користувачі наступного дня попрацювали, а наприклад надвечір стався форс мажор, то відкотившись з бекапа (тільки за наказом генерального), дані додані протягом дня будуть безповоротно втрачені. Ось такий мінус.
На замітку: перед будь-якими операціями завжди має бути зроблено повну резервну копію з подальшим відновленням з неї (і бажано задокумментовано всі дії) з метою перевірки, що бекап це бекап, а не битий бекап.
Резервна копія це обов'язково, то також потрібно і обслуговувати бази — це так званий «План обслуговування », запускати його слід у ті часи, коли його робота
ні як не скаже на поточному використанні бази, тобто переважно в нічний час. Цей час вибирається індивідуально з урахуванням особливостей Вашого робочого місця роботи.
Створюваний план обслуговування бази включає наступну послідовність дій:
Підключаюся до сервераMSSQL і запускаю оснащенняMicrosoft SQL Server Management Studio:

Після того, як за стрілкою вище на представленому скріншоті, клікнули лівою кнопкоюмиші з'явиться вікно де налаштовується робота запуску: (мені потрібно щодня02.00 ночи )
- Name: LocalPlan.Subplan_1
- Schedule type: Recurring .
- Enabled: Відзначаємо галочкою
- Frequency:
- Occurs: Daily
- Recurs every: 1 день(s)
- Daily frequency:
- Occurs once at: 2:00:00
Інші параметри я залишаю за замовчуванням, мені вони не критичні.
Тепер створюваний планLocalPlan наповнимо вмістом перевірок/завдань. Для цього з лівої частини вікнаToolbox виділяємо потрібне завдання (Check Database Integrity Task (Перевірка цілісності бази даних ) і перетягуємо у праву частину:

після перетягування заготівлі завдання з лівої частини (Toolbox ) у праву область воно за умовчанням не містить жодних дій, щоб наділити діями завдання потрібно просто виділити його лівою кнопкою і по центру клацнути лівою кнопкою миші два рази і відкриються його властивості. Вибираємо наявну базу даних:

Після чого за таким же принципом додаю в план, що створюєтьсяLocalPlan завданняПеребудова індексу (Rebuild Index Task ) таОновлення статистики (Update Statistics Task) і також заходимо у дані завдання якості, вибираємо необхідну базу (у разіzup )
- Rebuild Index Task:
- Connection: Local Server Connection
- Database(s): zup
- Object: Tables and Views
- Reorganize pages with default amount of free space
- Update Statistics Taks:
- Connection: Local Server Connection
- Database(s): zup
- Object: Tables and Views
- Update: All existing statistics
- Scan type: Full scan
- Перебудова індексу -перетворює індекс із новим коефіцієнтом заповнення.
- Оновлення статистики - оновлює дані про дані таблиць дляMS SQL, тільки після цього потрібно провести очищення кешу.
Але поки завдання хоч і наповнені властивостями просто виконаються, але так не цілком коректно, щоб дані завдання відпрацьовували в порядку зазначеної черговості. Для цього завдання потрібно зв'язати між собою у порядку черговості.
У кожного завдання, якщо по ньому натиснути лівою кнопкою миші, один раз з'явиться стрілка:
Беремо дану стрілку і ведемо її до іншого завдання, цим ми проводимо об'єднання завдань між собою, тобто Спершу виконається одне, а потім по стрілці запуститися інше.
Якщо клацнути по даній стрілці (у неї теж є властивості), то можна виявити способи активації підрозділяються на три кольори для зручності візуального згадування та аналізу:
- Зелений - Success (Успіх)
- Червоний - Failure (Помилка)
- Синій - Completion (Завершення)
У зв'язку може бути3 кольори: синій, зелений і червоний, кожен з яких означає три типи спрацьовування переходу: при простому завершенні попереднього завдання - Завершення, у разі успішного завершення - Успіх, а у разі виникнення помилки під час виконання попереднього завдання - Помилка.
Наводимо створюваний план до виду:

На замітку: може так статися, що для плану, що створюється, немає шаблонних завдань, в такому випадку на допомогу приходить завдання:Execute T-SQL Statement Task у властивості якого вводитьсяsql команда вашого дійства . Наприклад, за замовчуванням відсутня (та й взагалі) завдання з очищення кешу процедур, а за допомогою завданняExecute ми створюємо його, якість якого вписуємо команду:
DBCCFREEPROCCACHE

- Connection: Local Server Connection
- Backup type: Full
- Database(s): Specific databases (zup)
- Create a backup file for every database
- Folder: d:\backupbd
- Backup file extension: bak
- Verify backup integrity: відзначаємо галочкою
- Set backup compression: Compress backup
Слідом налаштовуємо завдання:Maintenance Cleanup Task (Очищення після обслуговування ) на вході якої видаляються старі архіви.
- Maintenance Cleanup Task:
- Connection: Local Server Connection
- Delete file of the following type: Backup files
- Search folder and delete files based on an extension:
- Folder: d:\backupbd
- File extension: bak
- File Age:
- Delete files older than the following: 1 Monts(s)
Потім налаштовуємо завдання:History Cleanup Task (Очищення журналу) під час якої відбувається видалення журналу даних (зав'язаний на процеси резервного копіювання та планів обслуговування баз).
- History Cleanup Task:
- Connection: Local Server Connection
- Backup and restory history: відзначаємо галочкою
- SQL Server Agent job history:
- Maintenance plan history:
- Remove historical data older than: 2 Day(s)
Тепер коли завдання в планіLocalPlan Налаштовані - цей план потрібно зберегти:File - Save Selected Items
У результаті план обслуговування виглядає так:

Даний план буде працювати в тому випадку, якщо службаSQL Server Agent працює і запущена (і краще б вона у Вас запускалася від імені системи)
В рамках тесту запускаю створений план уручну:

Чекаємо, після закінчення можна будепереглянути звіт та журнал.

І в каталозіd:\backupbd\ вже знаходиться резервна копія бази даних: