Как отменить выполненный запрос update?

Чаще всего, боржоми уже поздно пить.
Ну можно выяснить, какой режим восстановления установлен
SELECT name,recovery_model_desc FROM sys.databases
и поздравить себя с переходом во вторую категорию из трёх:
1. Люди, которые ещё не делают бэкапы
2. Люди, которые уже делают бэкапы
3. Люди, которые уже проверяют сделанные бэкапы.
А вообще на рабочей базе любой апдейт должен начинаться с BEGIN TRANSACTION
Ответ написан более двух лет назад

Владимир Коротенко @firedragon
Я снова спрошу как вам поможет транзакция в студии ? То есть сделали запрос, пока висит коннекшкн выбираете данные, если что то неверно делаете ролбэк? Такая логика?
Владимир Коротенко, Ну, примерно да.
Данные можно и не выбирать. По собственному опыту знаю, что ошибку очень часто замечаешь на секунду позже, чем нужно. Здесь rollback и пригодится.
Как-то запустил update, где вообще почему-то. ну не знаю, то ли отвлекло что-то, то ли задумался, вообще не было where. Осознание этого факта пришло прямо в момент запуска запроса. Ощущение было не из приятных. Спасла меня только опечатка в имени таблицы, и вернулась ошибка.
Уроков я вынес несколько.
1. Запрос надо писать, начиная с where
2. Вместо update/delete с тем же where сначала написать select

Владимир Коротенко @firedragon
cicatrix, что кстати мешает держать 2 базы? Продовскую модифицировать только через миграции без рук. А а на стейдже извращаться как хочешь и при необходимости накатывать бэкап?
что кстати мешает держать 2 базы?
Что вам сказать? Лень, излишняя самоуверенность, очень редкие случаи, когда надо что-то сделать через SSMS, жадность.
Ну что мешает всё всегда делать «по фен шую». Реальный мир, наверное.
Отмена изменения, выполненных в запросе (визуальные инструменты для баз данных)
Изменения в определении запроса можно отменить перед сохранением. После того, как они сохранены, их нельзя вернуть в прежнее состояние.
Чтобы отменить изменения, внесенные в значения на панели «Результаты», нажмите клавишу ESC прежде, чем указатель мыши покинет запись. Если после перемещения указателя из записи выдается уведомление о том, что изменения не будут внесены в базу данных, можно также нажать клавишу ESC, чтобы вернуться к прежнему значению.
Отмена изменений, сделанных в определении запроса
- Когда запрос открыт в конструкторе запросов и представлений, в меню Файл выберите пункт Закрыть.
- В диалоговом окне Microsoft SQL Server Management Studio нажмите кнопку Нет. Определение запроса вернется в состояние, в котором оно было при последнем сохранении.
SQL REVOKE
С помощью команды REVOKE осуществляется отмена привилегий, синтаксис команды REVOKE аналогичен синтаксису команды GRANT.
SQL REVOKE. Пример 1
Отмена привилегии CREATE TABLE на создание таблиц в базе данных у пользователя user
REVOKE CREATE TABLE FROM user;
SQL REVOKE. Пример 2
Отмена привилегии SELECT на выборку записей из таблицы
REVOKE SELECT ON table_name FROM user;
SQL REVOKE. Пример 3
Отмена привилегий UPDATE и DELETE на изменение и удаления записей
REVOKE UPDATE, DELETE ON table_name FROM user;
SQL REVOKE. Пример 4
Отмена общих привилегий
Как отменить update sql
Чтобы отменить операцию UPDATE в SQL, необходимо использовать оператор ROLLBACK . ROLLBACK отменяет все изменения, внесенные в базу данных в текущей транзакции.
Если вы только что выполнили операцию UPDATE и еще не закончили транзакцию, вы можете использовать следующую команду:
ROLLBACK;
Эта команда отменит все изменения, внесенные в базу данных в текущей транзакции, включая операцию UPDATE .
Если вы уже закончили транзакцию, чтобы отменить операцию UPDATE , вам нужно восстановить состояние базы данных до момента перед выполнением операции UPDATE . Для этого вы можете использовать резервную копию базы данных или историю изменений, если она ведется. Если вы не имеете резервной копии или истории изменений, отмена операции UPDATE может быть невозможна.
Обратите внимание, что операция ROLLBACK отменяет все изменения в текущей транзакции, а не только операцию UPDATE . Если в транзакции были выполнены другие операции, они также будут отменены.