Как отменить заявление об обновлении, которое я сделал в базе данных - PullRequest
2 голосов
/ 22 ноября 2010

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

Заранее спасибо.

Ответы [ 4 ]

5 голосов
/ 22 ноября 2010

Существует несекретный журнал транзакций, называемый журналом транзакций, который вы можете восстановить на определенный момент времени. Вот как ... Этот маленький надоедливый файл с расширением ldf - это журнал транзакций, а не файл .mdf, который является вашими обычными данными в БД.log (ldf) или каким-либо другим образом с ним связан, вы должны быть в состоянии сделать именно тот вид восстановления (отменить), который вы ищете.

2 голосов
/ 25 апреля 2013

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

Если дБ находится в полном восстановлении, то в журнале транзакций хранится много данных, но их нелегко прочитать, поскольку MS никогда не полировала для этого официальную документацию и потому, что целью является не восстановление, а проверка правильности транзакции.

Однако есть обходные пути для чтения, например, с помощью вышеуказанного инструмента (платный инструмент, к сожалению, но есть пробная версия) или расшифровки результатов DBCC LOG самостоятельно.

1 голос
/ 22 ноября 2010

Нет, если вы не завернули свой sql в блок транзакции - начните транзакцию, откат, фиксация.Это одна из самых опасных вещей в SQL Server.С Oracle вы должны физически фиксировать каждую транзакцию, что намного безопаснее. Imho.

0 голосов
/ 22 ноября 2010

чувак ... извините, но это заставляет меня смеяться

Насколько я знаю, вы не можете отменить обновленные данные: (

надеюсь, что я ошибаюсь

Удачи.

...