Доставка журналов в существующую базу данных
У нас есть несколько огромных баз данных, которые мы хотели бы зарегистрировать в SQL Server 2008. К сожалению, связь между первичным и вторичным серверами достаточно быстра для обработки доставки журналов, но первоначальное резервное копирование / копирование будет ограничивать пропускную способность в течение нескольких дней, если не недель, что мы хотели бы избежать, если это вообще возможно.
Мы сделали копию (теперь несколько дней назад), выполнив резервное копирование основной базы данных на жесткий диск и физически перенеся жесткий диск на дополнительный компьютер и восстановив там базу данных.
Первичный и вторичный серверы находятся в разных географических точках. Первичный сервер находится на SQL Server 2008, вторичный на 2008 R2 (не спрашивайте, почему!)
Кажется, мы не можем найти способ заставить доставку журналов (или зеркалирование) работать без запуска процесса резервного копирования / копирования / восстановления с нуля.
Любые идеи / решения будут с благодарностью.
4 ответа
- Включите доставку журналов, но не добавляйте цели
- Сделайте полную резервную копию основной базы данных
- Переместите резервную копию базы данных на вторичный сервер
- Восстановление резервной копии
WITH NORECOVERY
- Включите вторичный сервер в качестве цели доставки журналов
- Затем SQL Server скопирует все файлы доставки журналов, которые были сгенерированы на данный момент, на новый сервер по ссылке и восстановит их.
Я делал это десятки раз, и это никогда не заканчивалось неудачей, поэтому, если это не сработает, вы можете обновить вопрос с помощью ТОЧНЫХ шагов, которые вы предприняли.
Если ваша база данных находится в режиме полного восстановления, вам просто нужно сделать следующее:
- Взять полную резервную копию
- перевести диск в режим ожидания
- восстановить базу данных с помощью NORECOVERY, чтобы она оставалась в режиме "восстановления"
- сохранить ВСЕ резервные копии журналов с первичной и скопировать их в резерв
- восстановить все журналы в резервной базе данных с NORECOVERY
- Запустите мастер SSMS для настройки заданий LS
Если вы используете задания LS для резервного копирования / копирования / восстановления журналов, убедитесь, что вы не пропустили ни одного, также, если вы делаете резервное копирование журналов за пределами этих заданий, они вам также понадобятся. Задания не будут копировать или восстанавливать резервные копии журналов, которые не создаются.
Я использовал инструмент под названием uFTP для передачи огромных файлов резервных копий SQL по ссылкам с высокой задержкой, чтобы перевести начальную полную резервную копию на вторичный узел для доставки журналов. Возможно, вы захотите сделать полную резервную копию, скопировать ее на вторичный сервер с помощью uFTP, восстановить базу данных без восстановления, а затем настроить доставку журналов на первичном сервере и использовать опцию "вторичная база данных инициализирована". Из-за того, как быстро uFTP должен передавать файлы, вы сможете избежать проблем со всем, что не синхронизировано.
В худшем случае, сделайте полную резервную копию вашей базы данных, скопируйте ее на вторичную систему с помощью uFTP, затем, как только она закончится, создайте дифференциальную резервную копию вашей огромной базы данных и передайте ее с помощью uFTP. Надеемся, что благодаря сочетанию высокой скорости передачи и сокращения дельты с помощью дифференциала, вы сможете запустить и запустить регистрацию.
Примечание: uFTP - это утилита передачи файлов на основе UDP с встроенным в приложение механизмом проверки ошибок, поскольку в UDP отсутствует коррекция ошибок по сравнению с TCP.
Убедитесь, что у цели доставки журналов восстановлена база данных с помощью norecovery.
Идите дальше и пройдите процесс установки, как обычно.
Когда вы перейдете на вкладку "Инициализировать вторичную базу данных" в окне "Настройки вторичной базы данных", убедитесь, что выбрана опция "Нет, вторичная база данных инициализирована".
Затем он пропустит процесс полного резервного копирования и восстановления и начнет с резервного копирования журнала транзакций. Если он не имеет доступа ко всем резервным копиям журнала транзакций с момента создания полной резервной копии, вы можете сделать разностную резервную копию и восстановить ее с помощью norecovery, чтобы получить актуальную информацию.