Откат транзакции с использованием журнала транзакций

Можно ли выполнять транзакции отката, используя файл Transactionlog для конкретной записи?

Я использую SQL Server 2005.

Ответ 1

Естественно, нет. Я считаю, что есть некоторые дорогие сторонние инструменты для этого.

В качестве альтернативы вы можете восстановить свою БД из резервной копии, а затем RESTORE LOGS в момент времени с аргументом STOPAT = '6/30/2009 2:30PM'.

Есть Apex и SQL Log Rescue доступный. Если ваши журналы не находятся в режиме восстановления FULL, тем не менее, вы можете оказаться в ручье, если восстановить невозможно.

Ответ 2

Из того, что я знаю, ваши параметры ApexSQL Log (дорогой, но имеет бесплатную пробную версию) или недокументированные команды SQL Server, такие как DBCC Log и fn_dblog.

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

Также я не думаю, что это работает для любого типа транзакций. Я видел людей, использующих эту технику для возврата вставки, обновления, удаления, но Im действительно уверен, что если он может быть использован для возврата, произнесите ALTER TABLE или что-то в этом роде.

Ответ 3

Что касается стороннего программного обеспечения, вы можете использовать программное обеспечение Dell Toad бесплатно в течение тридцати дней, и оно имеет журналы транзакций с отменить script.

Ответ 4

Отъезд продукт RedGate LogRescue. Без сторонних продуктов вы, вероятно, ограничены возможностью восстановления времени в отдельной базе данных, а затем вручную копируете запись в свою производственную базу данных.