Назад | Перейти на главную страницу

Доставка журнала в существующую базу данных

У нас есть несколько огромных баз данных, которые мы хотели бы зарегистрировать на SQL Server 2008. К сожалению, связь между первичным и вторичным серверами достаточно быстрая, чтобы обрабатывать доставку журналов, но первоначальное резервное копирование / копирование потребовало бы трафика на несколько дней, если не недель, что мы хотели бы избежать, если это вообще возможно.

Мы сделали копию (которой уже несколько дней), сделав резервную копию первичной базы данных на жесткий диск и физически перенеся жесткий диск на вторичный компьютер и восстановив там базу данных.

Первичный и вторичный серверы находятся в разных географических точках. Первичный сервер находится на SQL Server 2008, вторичный - на 2008 R2 (не спрашивайте почему!)

Кажется, мы не сможем найти способ заставить работать доставку (или зеркалирование) журналов без запуска процесса резервного копирования / копирования / восстановления с нуля.

Приветствуются любые идеи / решения.

  1. Включите доставку журналов, но не добавляйте цели
  2. Сделайте полную резервную копию первичной базы данных
  3. Перенести резервную копию базы данных на вторичный сервер
  4. Восстановление резервной копии WITH NORECOVERY
  5. Включите вторичный сервер как цель доставки журналов
  6. Затем SQL Server скопирует все файлы доставки журналов, сгенерированные на сегодняшний день, на новый сервер по ссылке и восстановит их.

Я делал это десятки раз, и это ни разу не подводило, поэтому, если это не сработает, вы можете обновить вопрос с помощью ТОЧНЫЙ шаги, которые вы сделали.

Если ваша база данных находится в режиме полного восстановления, вам просто нужно сделать следующее:

  • Сделайте полную резервную копию
  • перевести диск в режим ожидания
  • восстановить базу данных WITH NORECOVERY, чтобы она оставалась в режиме "восстановления"
  • хранить ВСЕ резервные копии журналов с основного и копировать их в резервный
  • восстановить все журналы в резервную базу данных С NORECOVERY
  • Запустите мастер SSMS, чтобы настроить задания LS

Если вы используете задания LS для резервного копирования / копирования / восстановления журналов, убедитесь, что вы ничего не пропустили, а также, если вы делаете резервную копию журнала вне этих заданий, они вам также понадобятся. Задания не будут копировать и восстанавливать резервные копии журналов, которые не были созданы.

Я использовал инструмент под названием uFTP для передачи огромных файлов резервных копий SQL по каналам с высокой задержкой для передачи исходной полной резервной копии на вторичный узел для доставки журналов. Вы можете сделать полную резервную копию, скопировать ее на вторичный сервер, используя uFTP, восстановите базу данных без восстановления, а затем настройте доставку журналов на первичном сервере и используйте параметр «вторичная база данных инициализирована». Из-за того, насколько быстро uFTP должен передавать файлы, вы сможете избежать проблем со всем, что не синхронизируется.

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

Примечание: uFTP - это утилита для передачи файлов на основе UDP с механизмом проверки ошибок, встроенным в приложение, поскольку в UDP отсутствует исправление ошибок в отличие от TCP.

Убедитесь, что для вашей цели доставки журналов база данных восстановлена ​​без восстановления.

Продолжайте и пройдите процесс настройки, как обычно.

Когда вы перейдете на вкладку «Инициализировать вторичную базу данных» в окне «Настройки вторичной базы данных», убедитесь, что выбран вариант «Нет, вторичная база данных инициализирована».

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