Sql Server 2005 Транзакции для сценариев развертывания - PullRequest
0 голосов
/ 09 августа 2011

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

У меня есть несколько простых вопросов, которые я хотел бы решить, прежде чем выдвигать эти изменения:

  1. Необходимо ли явно вызывать COMMIT для транзакции в нижней части скрипта?
  2. Нужно ли явно проверять наличие ошибок и вызывать ROLLBACK внизу, или просто использование транзакции даст такой эффект?

1 Ответ

2 голосов
/ 09 августа 2011
  1. Да.

  2. Да.

Вы также должны расследовать SET XACT_ABORT ON. SET XACT_ABORT ON указывает SQL Server откатить всю транзакцию и прервать пакет при возникновении ошибки времени выполнения.

Эта статья Обработка ошибок в SQL 2005 и более поздних версиях стоит прочитать.

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