Высокая доступность (HA) — это решение \ процесс \ технология для обеспечения доступности приложения \ базы данных в режиме 24×7 при плановых или внеплановых отключениях.
В основном, в MS SQL Server есть пять вариантов достижения \ настройки решения высокой доступности для баз данных.
копирование
Исходные данные будут скопированы в место назначения через агентов репликации (задания). Технология уровня объекта.
терминология
- Издатель является исходным сервером.
- Распространитель является необязательным и сохраняет реплицированные данные для подписчика.
- Подписчик является сервером назначения.
Доставка журналов
Исходные данные будут скопированы в место назначения с помощью заданий резервного копирования журнала транзакций. Технология уровня базы данных.
терминология
- Основной сервер является исходным сервером.
- Вторичный сервер является сервером назначения.
- Сервер мониторинга является необязательным и будет отслеживаться по статусу доставки журналов.
Зеркальное
Первичные данные будут скопированы на вторичные через сетевые транзакции с помощью зеркалирования конечной точки и номера порта. Технология уровня базы данных.
терминология
- Основной сервер является исходным сервером.
- Зеркальный сервер является целевым сервером.
- Сервер-свидетель является необязательным и используется для автоматического переключения при сбое.
Кластеризация
Данные будут храниться в общем хранилище, которое используется как первичным, так и вторичным серверами, в зависимости от доступности сервера. Технология уровня экземпляра. Требуется настройка кластеризации Windows с общим хранилищем.
терминология
- Активный узел — это место, где работают службы SQL.
- На пассивном узле не работают службы SQL.
Группы доступности AlwaysON
Первичные данные будут скопированы во вторичные с помощью сетевых транзакций. Группа технологий уровня базы данных. Настройка кластера Windows требуется без общего хранилища.
терминология
- Первичная реплика является исходным сервером.
- Вторичная реплика является целевым сервером.
Ниже приведены шаги по настройке технологии высокой доступности (зеркалирование и доставка журналов), за исключением кластеризации, групп доступности AlwaysON и репликации.
Шаг 1 — Возьмите одну полную и одну T-log резервную копию исходной базы данных.
пример
Чтобы настроить зеркальное отображение \ доставку журналов для базы данных «TestDB» в «TESTINSTANCE» в качестве основного и «DEVINSTANCE» в качестве вторичного SQL-сервера, напишите следующий запрос, чтобы выполнить полное резервное копирование и резервное копирование T-журнала на исходном (TESTINSTANCE) сервере.
Подключитесь к SQL-серверу TESTINSTANCE, откройте новый запрос, напишите следующий код и выполните, как показано на следующем снимке экрана.
Backup database TestDB to disk = 'D:\testdb_full.bak' GO Backup log TestDB to disk = 'D:\testdb_log.trn'
Шаг 2 — Скопируйте файлы резервной копии на целевой сервер.
В этом случае у нас установлен только один физический сервер и два экземпляра SQL-сервера, поэтому копировать не нужно, но если два экземпляра SQL Server находятся на другом физическом сервере, нам необходимо скопировать следующие два файла в любое место вторичный сервер, на котором установлен экземпляр DEVINSTANCE.
Шаг 3 — Восстановите базу данных с файлами резервных копий на целевом сервере с опцией «norecovery».
пример
Подключитесь к SQL-серверу DEVINSTANCE и откройте новый запрос. Напишите следующий код, чтобы восстановить базу данных с именем «TestDB», которое совпадает с именем основной базы данных («TestDB») для зеркального отображения базы данных. Однако мы можем предоставить другое имя для конфигурации доставки журналов. В этом случае, давайте использовать имя базы данных «TestDB». Используйте опцию ‘norecovery’ для двух (полное и t-log резервное копирование файлов) восстановления.
Restore database TestDB from disk = 'D:\TestDB_full.bak' with move 'TestDB' to 'D:\DATA\TestDB_DR.mdf', move 'TestDB_log' to 'D:\DATA\TestDB_log_DR.ldf', norecovery GO Restore database TestDB from disk = 'D:\TestDB_log.trn' with norecovery
Обновите папку баз данных на сервере «DEVINSTANCE», чтобы увидеть восстановленную базу данных «TestDB» с восстановленным состоянием, как показано на следующем снимке.
Шаг 4. Настройте HA (доставку журналов, зеркалирование) в соответствии с вашими требованиями, как показано на следующем снимке.
пример
Щелкните правой кнопкой мыши базу данных «TestDB» SQL Server «TESTINSTANCE», которая является основной, и выберите «Свойства». Появится следующий экран.
Шаг 5 — Выберите опцию, называемую «Зеркальное отображение» или «Транспортировка журнала транзакций», которые находятся в красной рамке, как показано на приведенном выше экране, в соответствии с вашими требованиями и следуйте указаниям мастера, руководствуясь самой системой, для завершения настройки.