July SSMS 2016 changes transaction semantics

This can be a very nasty one if you’re not observant. The July update of SSMS now has the option to change XACT_ABORT setting for a query window using

  • Tools
  • Options
  • Query Execution
  • SQL Server
  • Advanced
  • SET XACT_ABORT
Now, exposing one more SET option can’t be bad, right? But Erland Sommarskog found out that this is checked by default. Now, using XACT_ABORT might now be a bad thing, au contraire. See this one of Erland’s series of error handle articles.
The problem is that it is a change. Quite of a sudden, your transaction semantics isn’t the same, and if you execute that script from somewhere else, or even an older SSMS, it doesn’t behave the same. For instance, if you don’t use TRY CATCH (which you should be using), then the batch will now stop and rollback on most errors, instead of allowing you to do the old eighties style IF @@ERROR <> 0 dance.
Personally, I SET my set commands instead of checking a checkbox in SSMS. But I don’t SET all set options there are, just the ones I want to change from default. I hope that this one can be reverted so it isn’t checked by default.

7 Replies to “July SSMS 2016 changes transaction semantics”

  1. Heard some buzz about shbet.80. Guess it’s worth checking out. Someone told me they had a decent win there last week so who knows maybe I will too. shbet.80

  2. 88win01 is a solid choice for those looking for a reliable online gaming platform. I appreciated the variety of games and the competitive odds. The site’s easy to use and bonuses are pretty generous. Give it a looksee: 88win01

  3. Yo, C77com fam! Just checked out the site, and it’s looking fresh. Easy to navigate, and the games are legit. Definitely worth a spin! Check it out here c77com.

Leave a Reply

Your email address will not be published. Required fields are marked *