Как настроить удаленную базу данных в режиме ожидания / только для чтения, чтобы принимать доставку журналов? - PullRequest
1 голос
/ 10 июня 2010

У нас есть два сервера SQL 2008 в разных сетях, и вскоре к ним будет подключен VPN.Скоро 2-3 недели.Если бы это было сейчас, мы могли бы легко настроить доставку журналов транзакций (или другой метод), чтобы поддерживать базу данных назначения (резервная / только для чтения) в актуальном состоянии.Как настроить задание LSRestore_ для этой целевой базы данных в режиме «Только чтение»?Сначала мы скопируем файлы * .trn вручную.Мой начальник говорит, что видел сообщение о том, что это возможно.Мы просто старались не делать полное резервное копирование базы данных и не копировать его каждый раз.Заранее благодарен за любые указания по этому вопросу.

1 Ответ

0 голосов
/ 13 сентября 2013

Поскольку пункт назначения доставки журналов получает свои настройки от основного сервера, вы не можете использовать стандартное задание доставки журналов в «автономном режиме» - для этого потребуется VPN.

Итак, вот как я могу это сделать (во всяком случае, во многом это делает доставка журналов):

  • Во-первых, вам нужно вручную восстановить полную резервную копию (С NORECOVERY)
    • NORECOVERY позволяет впоследствии восстанавливать журналы транзакций - база данных в данный момент недоступна.
  • Используя exec xp_cmdshell 'dir / b * .trn', вы можете получить список файлов .trn во временную таблицу
  • Используя курсор, переберите временную таблицу, вызвав команду RESTORE LOG для каждого файла .trn
    • Использовать RESTORE WITH STANDBY, чтобы после восстановления база данных оставалась доступной только для чтения
  • После успешного восстановления каждого файла .trn переместите его в папку архива или удалите его.
    • используйте xp_cmdshell для этого.
...