Изменение схемы с зеркалирования базы данных на пересылку журнала транзакций

Вопрос или проблема

Я подумываю отказаться от зеркалирования базы данных и перейти на передачу журнала транзакций на нашем сервере SQL Server 2008 Standard, потому что из-за того, что основной сервер более мощный, заметно снижается производительность.

Это сложно сделать?

Я предполагаю, что мне просто нужно прервать синхронизацию, отключить базы данных и затем настроить передачу журнала, или мне придется выполнить новую команду RESTORE WITH NORECOVERY? Это правильно?

Другие вещи, которые я должен учитывать?

Предпочтительно, я бы хотел асинхронное зеркалирование, но лицензия Enterprise слишком дорогая.

Это довольно просто настроить, вам даже не нужно отключать базы данных. Вы можете начать настройку передачи журнала транзакций, даже не прерывая зеркалирование.

Для получения дополнительной информации вот ссылка на центр разработки SQL;
http://msdn.microsoft.com/en-us/library/bb895393.aspx

С наилучшими пожеланиями, Ник

.

Ответ или решение

Переход от зеркалирования базы данных к пересылке журналов транзакций на SQL Server 2008 Standard действительно может быть разумным шагом, если вы сталкиваетесь с проблемами производительности из-за различий в мощности между основным и зеркальным серверами. Рассмотрим этот процесс более подробно, чтобы сделать переход максимально безболезненным и эффективным.

Теория

Зеркалирование баз данных и пересылка журналов транзакций — это два механизма, которые совместно обеспечивают повышение доступности и сохранности данных в SQL Server. Они преследуют одну цель — обеспечить защиту данных и отказоустойчивость, но реализованы по-разному.

  1. Зеркалирование баз данных обычно используется для обеспечения высокой доступности, поскольку предполагает постоянную синхронизацию между основным сервером и зеркальным. Однако в стандартной редакции SQL Server 2008 доступен только синхронный режим, что действительно может влиять на производительность, особенно если основной сервер значительно мощнее зеркального.

  2. Пересылка журналов транзакций представляет собой процесс, при котором журналы транзакций создаются на основном сервере и пересылаются на вторичный сервер, где они затем применяются. Это позволяет снизить нагрузку, поскольку операция осуществляется асинхронно и не требует постоянной синхронизации между серверами.

Пример

Рассмотрим пример: у вас есть основной сервер, который постоянно загружен операциями записи и обработки транзакций. Зеркальный сервер, являясь менее мощным, не справляется с высокой нагрузкой в синхронном режиме. В этом случае пересылка журналов транзакций позволяет основному серверу работать более независимо, что может существенно сгладить проблемы производительности.

Применение

Преимущества пересылки журналов:

  • Асинхронность: позволяет основному серверу работать независимо, что снижает нагрузку.
  • Гибкость в настройке интервалов пересылки: вы можете настроить пересылку событий в журнале в зависимости от потребностей схемы отказоустойчивости.

Процесс перехода:

  1. Подготовка вторичного сервера: До разрыва зеркалирования, необходимо убедиться, что вторичный сервер готов принять данные пересылаемых журналов. Для этого можно начать с создания резервной копии доставочной базы на вторичном сервере.

  2. Прекращение зеркалирования: Разорвите синхронизацию зеркалирования, используя команду ALTER DATABASE <имя_базы> SET PARTNER OFF.

  3. Настройка пересылки журналов:

    • Создание резервной копии текущей базы данных: Выполните полный бэкап основной базы и направьте его на вторичный сервер.
    • Настройка исходной точки на вторичном сервере: Когда основная база переписывается, на вторичном сервере выполните команду RESTORE DATABASE <имя_базы> FROM DISK='<путь_к_бэкапу>' WITH NORECOVERY. Данная команда подготовит вторичную базу данных для пересылки журналов.
    • Настройка расписания пересылки: В SQL Server Management Studio откройте агента SQL Server и создайте задание для регулярной пересылки и применения журналов.
  4. Мониторинг и тестирование: Завершив настройки, обязательно протестируйте пересылку, чтобы убедиться, что все работает корректно.

Другие аспекты:

  • Обратите внимание на конфигурацию сети и наличие достаточной полосы пропускания для передачи журналов.
  • Всегда поддерживайте актуальность резервных копий перед внесением изменений в конфигурации среды восстановления.
  • Учтите, что пересылка журналов не поддерживает автоматическое отключение в случае сбоя, как это может происходить при зеркалировании с автоматическим переключением.

Заключение

Переход от зеркалирования к пересылке журналов транзакций требует тщательного планирования, но при правильной реализации может значительно повысить производительность и отказоустойчивость вашей системы. Пересылка журналов предоставляет более гибкие возможности для настройки и может значительно снизить нагрузку на основной сервер, обеспечивая более стабильную работу всей системы.

С уважением, всегда помните о важности тщательного планирования и тестирования новых конфигураций для предотвращения потерь данных.

Оцените материал
Добавить комментарий

Капча загружается...