I have 2 SQL 2012 servers. The settings are exactly the same, but on one I can set ARITHABORT to Off but no matter how I try I can't do the same on the second server. The only difference I could find was that the server I could set it on is an older version of SQL 2012. Has something changed? Or is there something else I'm missing?

migrated from stackoverflow.com Sep 10 '13 at 18:44

This question came from our site for professional and enthusiast programmers.

  • What do you mean you can't do it? Do you get an error message when you run SET ARITHABORT OFF, does it say command completed successfully but not behave as you are expecting? – GarethD Sep 10 '13 at 7:46
  • it does say command completed successfully but it does not behave as expected. Where my query on the first server runs much faster after I set it, it does nothing on the second server. – user2763933 Sep 10 '13 at 11:59
  • 1
    This is because your expectations of what it will do are wrong. It is not an option which will magically speed up your queries if you turn it off. In fact it makes no difference at all in 2012 when ANSI_WARNINGS is ON. Except as a plan cache key. Any difference you observed on one server when trying this will doubtless be as you got a different/better plan. See Why would SET ARITHABORT ON dramatically speed up a query?. – Martin Smith Sep 10 '13 at 19:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy