Сторінка 3 з 8
Дзеркальне відображення баз даних
Перш ніж почати детальний розгляд дзеркального відображення баз даних, необхідно визначитися з термінологією.
Основний сервер - робочий сервер-джерело, на якому розміщується база даних, постійно відправляє свої журнали транзакцій дзеркальному сервера і його базі даних.
Дзеркальний сервер - сервер-одержувач, на якому розміщується резервна копія бази даних. Дзеркальна копія постійно синхронізується з базою даних основного сервера.
Роль показує, служить конкретний сервер основним або дзеркальним.
Стежить сервер - сервер, який спостерігає за роботою основного і дзеркального серверів і може запустити процес автоматичного переходу на інший ресурс при збої.
Партнер - основний або дзеркальний сервер.
У звичайному середовищі на основному сервері виконується резервна копія бази даних основного сервера, яка потім відновлюється на дзеркальному сервері (див. Рис. 2). Після цього на основному сервері необхідно налаштувати дзеркальне відображення: або у вікні властивостей бази даних основного сервера в середовищі SQL Server Management Studio (SMSS), або за допомогою сценаріїв мови T-SQL.
Figure 2 Database mirroring architecture
Коли клієнти виконують нові транзакції, основний сервер проводить їх у своїй базі даних і при цьому приносить записи журналу транзакцій своєї бази даних в журнал повторюваних операцій бази даних дзеркального сервера або в черзі журналів, де вони підхоплюються і застосовуються до дзеркальної базі даних. Як тільки транзакція виконана і зафіксована в базі даних дзеркального сервера, основного сервера відправляється відповідь, що повідомляє про фіксацію транзакції на дзеркальному сервері. До отримання підтвердження від дзеркального сервера ніякі нові транзакції, що надходять в систему, основним сервером не підтверджуються.
У разі збою дзеркальний сервер може почати процедуру автоматичного перемикання ресурсів, причому стежить сервер підтримує цей процес, визначаючи, чи доступна база даних основного сервера. Якщо стався збій, необхідно усунути проблему на тому сервері, який тепер є дзеркальним партнером, перш ніж він знову зможе стати основним. Як тільки неполадки на дзеркальному партнері усунені, починається переміщення назад на сервер дзеркального партнера, і бази даних знову синхронізуються. Після завершення синхронізації сеанс дзеркального відображення може бути знову розпочато.
Описаний режим дзеркального відображення є режимом високого рівня безпеки, який забезпечує синхронні транзакційні операції за допомогою включення транзакционной безпеки. Для цього режиму не потрібно стежить сервер, оскільки переваги автоматичного переходу на інший ресурс при збої не використовуються. Всі переходи на інший ресурс запускаються вручну. Існує й інший режим дзеркального відображення, який забезпечує виконання синхронних транзакційних операцій. Це режим високого рівня доступності. Для нього потрібно не тільки включення транзакционной безпеки, а й використання для автоматичного переходу на інший ресурс при збої стежить сервера.
Третій, і останній, режим дзеркального відображення - це режим високої продуктивності. В цьому режимі транзакційна безпека повинна бути відключена, що дозволяє забезпечити підтримку асинхронних операцій. Остання, в свою чергу, дає можливість основному партнеру фіксувати транзакції, не чекаючи, поки запис транзакції буде внесена в базу даних дзеркального сервера. Режим високої продуктивності не вимагає наявності в конфігурації стежить сервера.
Зверніть увагу, що при використанні дзеркального відображення на основному і дзеркальному серверах повинен бути встановлений однаковий випуск сервера SQL Server. Це не відноситься до стежить сервера, на якому може бути встановлений випуск SQL Server Express Edition. Крім того, важливо, щоб база даних основного сервера перебувала в режимі повного відновлення.
Дзеркальне відображення баз даних може виявитися вдалим варіантом для компанії, що залежить від вимог, що пред'являються до програм та даних. Втім, щоб домогтися оптимальної продуктивності, необхідно прийняти до уваги кілька чинників. Наприклад, наскільки великі інтенсивність транзакцій системи або обсяг змінюваних даних? При прийнятті рішення про дзеркальному відображенні баз даних дуже важливо визначити, чи достатньо пропускної здатності і швидкості мережі для передачі потрібного обсягу даних і обробки наявного числа транзакцій. Крім того, необхідно враховувати підвищене навантаження на підключення. Це особливо важливо, якщо дзеркальний сервер географічно розташований в іншому місці. При визначенні наявності накладаються середовищем обмежень, які могли б перешкодити ефективній роботі дзеркального відображення, ключову роль відіграє попереднє спостереження за системою.
Figure 3 Mirroring setup wizard
Всі ці питання я постійно бачу на форумах SQL Server, тому в даній статті я збираюся надати огляд системи ведення журналу та відновлення і пояснити, для чого існує ця невід'ємна частина модуля сховищ SQL Server. Буде розглянута архітектура журналу транзакції і те, яким обр.
Але хіба це єдине, що можна зробити? Існує можливість проводити попереджуючий моніторинг продуктивності, просту процедуру управління, яка використовує визначення базових параметрів роботи системи, отримання еталонів і безперервне спостереження. У цій статті я розповім про те, як п.
Однак вам не обов'язково так поступати. Є дуже проста альтернатива, яка використовує те, що ще відомо під назвою хеш-блоків або хеш-ключів. Що таке хешування? Говорячи коротко, хешування - це цілочисельний результат алгоритму (відомого як хеш-функція), що застосовується до заданої рядку.