Support Center

Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

Transaction handling in Deploy-Once scripts

Mick Letofsky Nov 08, 2013 07:54AM AEDT

We are attempting to create a DML script that contains a transaction that we want to rollback pending failure. However, we are seeing the following message:

Error while parsing script '......'. Usage of Transaction statements is not permitted unless using TransactionHandling='Custom' metadata setting.Do you still want to mark the script as deployed?

Where do I make the change in our code to set that metadata tag? Also, do you have a list of these settings to avoid something like this in the future?

Thanks,
Mick

Up -8 rated Down
Daniel Nolan Dec 03, 2013 09:15PM AEDT ReadyRoll Agent

Hi Mick,

By default, ReadyRoll will wrap all of your Deploy-Once and Deploy-Change migrations in a transaction, and during deployment will automatically perform a rollback if an error occurs.

However if you would like to issue a ROLLBACK yourself, or otherwise override the automatic transaction handling behavior, you can do so by including such logic within a TRY / CATCH block in your migration script.

You can also disable the automated transaction handling all together by adding the TransactionHandling=“Custom” property to your script’s header (ie. in the <Migration/> tag).

For more information, please see this blog post:
http://ready-roll.com/blog/2013/12/02/transaction-handling-techniques-in-tsql-deployments/

Best Regards,

Daniel

This question has received the maximum number of answers.

readyroll.support@red-gate.com
http://assets1.desk.com/
false
readyrollsql
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete