Дзеркальне відображення (database mirroring) баз даних в sql server 2018

7.3.1. Що таке "дзеркальне відображення баз даних"

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

Переваги перед використанням кластера наступні:

q дзеркальне відображення баз даних не вимагає застосування спеціального устаткування;

q сервери, які беруть участь в дзеркальному відображенні баз даних, не обов'язково повинні знаходитися поруч один з одним;

q в кластері сервери працюють з однією фізичною базою даних, яка знаходиться на зовнішньому RAID -массіве. Таким чином, вихід з ладу цього RAID -массіва призведе до відмови всього кластера. У дзеркальному відображенні використовуються дві окремі копії бази даних, що підвищує надійність роботи.

У порівнянні з доставкою журналів переваги такі:

q перемикання ролей в разі аварійного резервування може здійснюватися автоматично (при наявності стежить сервера (witnessserver));

q при застосуванні дзеркального відображення баз даних в деяких ситуаціях вам не буде потрібно вносити будь-які зміни в мережеву інфраструктуру або в налаштування клієнтів. Клієнти при необхідності автоматично перемикаються на використання дзеркальної копії (це впливає тільки на програми, які використовують SQL Native Client або. NET SQL Provider). Інформацію про дзеркальної копії можна вказати в рядку підключення (її також може передати основний сервер при підключенні до нього клієнта);

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

Для дзеркального відображення можна використовувати два режими:

q синхронний режим (synchronousmode) - при використанні цього режиму транзакція не буде завершена, якщо вона не пройшла на обох серверах. При використанні синхронного режиму ідентичність даних на двох серверах гарантується. Однак швидкість роботи транзакцій при цьому може істотно сповільнитися. Цей режим роботи поділяється ще на два:

· Орієнтований на відмовостійкість (high -availability) - для цього режиму обов'язково використання стежить сервера. Цей режим гарантує відмовостійкість. У разі, коли основний сервер стає недоступним, що стежить сервер автоматично змінює ролями сервер-принципал і сервер-дзеркало. Якщо стає недоступним сервер-дзеркало, то триває звичайна робота. А якщо, наприклад, стали одночасно недоступними і стежить сервер, і сервер-дзеркало, то припиниться і робота бази даних на сервері-принципалом - щоб гарантувати, що сервер буде працювати тільки в відмовостійкості режимі;

· Орієнтований на захист даних (high -protection) - в цьому режимі можна обійтися без стежить сервера. Будь-яка транзакція в цьому режимі обов'язково повинна бути завершена на обох серверах: так гарантується ідентичність даних на основній базі даних і на дзеркалі;

q асинхронний режим (asynchronousmode. інше називання - high -performancemode (режим високої продуктивності)) - в цьому випадку транзакція спочатку завершується на першому сервері, а потім інформація про неї негайно передається на другий сервер. Затримок при роботі транзакцій вже не буде, але дані між серверами можуть синхронізуватися з невеликим відставанням.