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

Могут ли журналы транзакций SQL Server (2008) обрабатывать удаляемую и повторно создаваемую базу данных?

Мы пытаемся восстановить базу данных (созданную программно путем запуска созданного вручную сценария SQL, который у нас есть). Наша процедура резервного копирования заключается в создании полной резервной копии каждой базы данных в экземпляре SQL Server 2008 в субботу, а затем автоматических журналов транзакций (я предполагаю, что они в любом случае создаются автоматически - у нас есть много файлов журналов, возможно, по одному на транзакцию после полного бэкап был сделан?).

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

Теперь, как оказалось, нам нужно восстановить базу данных до того состояния, в котором она была в четверг. Это после «брось и воссоздай». У меня вопрос, возможно ли это? Если это не так, что именно, по мнению SQL Server, он записывает в те журналы транзакций, которые были созданы после удаления и повторного создания? (Я понял, что это были файлы, содержащие двоичную дельту, что заставляет меня думать, может, мы сможем восстановить из них?)

Я не администратор баз данных, но и наш ИТ-отдел тоже, поэтому я делаю все возможное, чтобы решить эту проблему. Любой совет очень ценится!

Нет, вы не сможете выполнить восстановление «новой» базы данных, поскольку SQL Server нуждается в полной резервной копии базы данных, к которой он может затем применить последующие резервные копии журналов.

Хотя вы, возможно, использовали одни и те же имена БД / схемы, сама БД является другим объектом / сущностью в том, что касается SQL Server, поэтому вы не сможете использовать исходную полную резервную копию, а затем воспроизвести все журналы в ней. Вы должны были сделать полную резервную копию своей БД сразу после ее создания.

Надеюсь, это всего лишь тестовая система, о которой вы говорите ... похоже, вы могли бы сделать это с кем-то, кто проходит базовое обучение администратора БД. Выполнение базового резервного копирования / восстановления SQL Server несложно выучить за час или два, если вы немного попрактикуетесь в тестовой системе, и это быстро поможет вам понять, какие все файлы создаются.

РЕДАКТИРОВАТЬ:

В дополнение к этому ... Я только что подумал о вашем комментарии, что SQL все еще создает журналы. Здесь происходит что-то еще, что, как вы думаете, происходит. Если вы сбросили БД, но не сделали полную резервную копию новой базы данных, SQL Server выдает ошибки при попытке сделать резервную копию журнала. Это не позволит вам сделать резервную копию журнала, не сделав сначала исходную полную резервную копию. Вам необходимо проверить свои сценарии резервного копирования, так как либо резервные копии журналов выдают ошибки, либо вы даже не делаете резервные копии журналов и смотрите на что-то совсем другое.

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