Откат и обновление команды в Sql Server 2000 - PullRequest
1 голос
/ 12 ноября 2008

Я использовал команду обновления для обновления всей таблицы в базе данных Sql Server 2000 по ошибке. Я действительно хотел обновить только одну строку. Теперь все 2000 строк содержат обновление. Есть ли способ откатить это изменение?

Ответы [ 3 ]

2 голосов
/ 12 ноября 2008

Если вы не начали свое обновление с явной транзакции, нет.

Однако вы можете использовать Log Rescue . Я не уверен, может ли это помочь вам в этом случае.

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

0 голосов
/ 12 ноября 2008

Если у вас есть доступные журналы аудита, используйте их, чтобы вернуться к старому состоянию. В противном случае вам нужно будет вернуться к вашей последней резервной копии на тот момент. Существуют некоторые продукты, которые позволяют вам просматривать журнал и получать от него конкретные данные. Lumigent Log Explorer (http://www.ssw.com.au/SSW/LogExplorer/) - один из них, но, как правило, стоит дорого и не поможет вам сразу, если их уже нет.

Если у вас нет текущих резервных копий и / или нет таблиц аудита, я бы обновил свое резюме.

0 голосов
/ 12 ноября 2008

Нет, если у вас нет резервной копии, к которой можно вернуться.

Я однажды совершил эту ошибку. Теперь я начинаю каждую ручную операцию с BEGIN TRAN. Тогда самое худшее, что может случиться, - это то, что вы забыли выполнить COMMIT TRAN и сохранить блокировку на столе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...