“That little green arrow.” or “My code used to work but now I’m getting a debug error.”


If you’ve worked with SSMS for any length of time this will look awfully familiar:

SSMS 2008R2

SSMS 2012 +

This little green arrow turns on the Transact-SQL Debugger . I have to wonder how this feature is actually used on purpose. I mean I’m sure people do, I’ve just never met any of them. Probably because the debugger requires sysadmin level permissions. Most sysadmins aren’t writing a lot of code (or at least don’t need the debugger) and most developers that could use the debugger don’t have sysadmin access. What I do get is the occasional person coming up to me and saying “I don’t understand why I’m getting this error? My code used to work!”

And why? You guessed it. They hit that little green arrow. I have to say that little green arrow really seems to confuse people. Probably because in Visual Studio you use the green arrow to “execute” a package (an SSIS package for example). Which sounds a lot like MS messed up and used different symbols to mean the same thing. In reality, however, you are executing that SSIS package in debug mode. So in fact it really is the same thing.

Regardless, the important thing to remember is that in SSMS the ! is execute and the arrow is debug. You want execute .