Можно ли выполнять транзакции отката, используя файл Transactionlog для конкретной записи?
Я использую SQL Server 2005.
Можно ли выполнять транзакции отката, используя файл Transactionlog для конкретной записи?
Я использую SQL Server 2005.
Естественно, нет. Я считаю, что есть некоторые дорогие сторонние инструменты для этого.
В качестве альтернативы вы можете восстановить свою БД из резервной копии, а затем RESTORE LOGS
в момент времени с аргументом STOPAT = '6/30/2009 2:30PM'
.
Есть Apex и SQL Log Rescue доступный. Если ваши журналы не находятся в режиме восстановления FULL
, тем не менее, вы можете оказаться в ручье, если восстановить невозможно.
Из того, что я знаю, ваши параметры ApexSQL Log (дорогой, но имеет бесплатную пробную версию) или недокументированные команды SQL Server, такие как DBCC Log и fn_dblog.
Любой из них будет работать только в том случае, если ваша база данных находится в режиме полного восстановления, и в этом случае SQL Server хранит намного больше данных в журнале транзакций.
Также я не думаю, что это работает для любого типа транзакций. Я видел людей, использующих эту технику для возврата вставки, обновления, удаления, но Im действительно уверен, что если он может быть использован для возврата, произнесите ALTER TABLE или что-то в этом роде.
Что касается стороннего программного обеспечения, вы можете использовать программное обеспечение Dell Toad бесплатно в течение тридцати дней, и оно имеет журналы транзакций с отменить script.
Отъезд продукт RedGate LogRescue. Без сторонних продуктов вы, вероятно, ограничены возможностью восстановления времени в отдельной базе данных, а затем вручную копируете запись в свою производственную базу данных.