Кто прав? - вопрос отката SQL - PullRequest
0 голосов
/ 14 июля 2009

Несколько минут назад у меня была дискуссия с моим боссом, и теперь я хочу больше значений, если я ошибаюсь или он ошибается.

Дается следующая проблема: После быстрой смены коллеги хранимая процедура пошла не так. (Я думаю, что для теории здесь больше не требуется информация)

Мы решили предоставить правильную версию в скрипте обновления:

ЕСЛИ СУЩЕСТВУЕТ ПРОЦЕДУРА X .... ПРОЦЕДУРА КАПЛИ X ... СОЗДАНИЕ ПРОЦЕДУРЫ X ....

Для DBO, в котором будет выполнена коррекция, мы должны (должны) подготовить механизм отката. Мой Босс приходит ко мне и просит меня подготовить сценарий отката. Я говорю ему, что у нас его нет: потому что, когда основной сценарий вышел из строя, выбора нет. Теперь все пошло не так, мы не можем вернуться к неправильному. Это бессмысленно.

Он сказал мне, что нам это нужно и это не бессмысленно ..

Когда я спросил причину, он ушел.

Я не прав?

Ответы [ 4 ]

2 голосов
/ 14 июля 2009

Есть некоторая логика в том, что вы говорите, но я мог бы согласиться с вашим боссом, если аргумент равносилен высказыванию "нам не нужно резервировать код, который не работает"

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

1 голос
/ 14 июля 2009

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

Вы также подразумеваете, что «процедура создания» будет либо работать, либо нет. Это правда, но это не значит, что процедура действительно будет работать. Вы можете создать хранимую процедуру (по крайней мере, на SQL Server), которая ссылается на несуществующую таблицу, и она прекрасно скомпилируется.

0 голосов
/ 14 июля 2009

После быстрой смены коллеги хранимая процедура пошла не так. (Я думаю, что для теории здесь больше не требуется информация)

Требуется дополнительная информация.

При изменении сценария ваш коллега сделал две вещи:

  1. Он улучшил (или не улучшил) хранимую процедуру, которую исправил
    • Он внес ошибку в эту хранимую процедуру

Если вы должны или не должны писать этот сценарий, зависит от следующих факторов:

  1. Насколько значительным было улучшение (если есть)
    • Насколько серьезна ошибка,
    • Как сложно написать этот скрипт.
0 голосов
/ 14 июля 2009

Два зла не дают права.

Если бы предыдущее изменение SP имело опцию отката, вы бы не оказались в этой ситуации. Так что даже если вы знаете, что любой откат перейдет на «плохую» версию. Это все еще должно быть там.

Обновление, которое вы делаете здесь, может сломать вещи намного больше, чем они есть в настоящее время.

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