Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently started using Management Studio 2012. When using MySQL Workbench, a handy feature was that I could stay all in lower case and any reserved word (like SELECT, INSERT) would convert to upper case automatically. How do I replicate this behavior in SSMS?

share|improve this question
Does anyone else find this really unworkable? Having to hit CAPS for reserved words then again to type variable names etc? It really slows down my typing. – David Folksman Aug 22 '13 at 13:52
Of course there is always the option of not making the keywords upper case. Not as easy to read, but you don't have to hit the shift key. :) – Kenneth Fisher Aug 22 '13 at 14:39
up vote 11 down vote accepted

No, Management Studio does not have this native functionality in any version from 2005 -> 2016 CTP 3.2. You may want to check out 3rd party add-ins, like Mladen Prajdić's SSMS Tools Pack or Red-Gate's SQL Prompt, both of which have the capability to format a block of code, including automatically upper-casing keywords. However I don't know of any tool that will do this automatically as you type.

For me, I have been doing it so long, it just comes naturally, and not pressing Shift would actually slow me down. When I get someone else's code where the keywords are lower case, I highlight either the whole block or the offending sections, and hit Ctrl+Shift+U. If I have to highlight the whole section, I then go in to the object / column names and use IntelliSense to case them correctly (I have a real hang-up about ensuring that all keywords are upper case and all entity names match the metadata exactly, because you never know when your code will be deployed to a case sensitive collation).

share|improve this answer

In addition to solutions that are already mentioned, I'd suggest using ApexSQL Refactor - a free SSMS and Visual Studio add-in.

ApexSQL Refactor can help you create your own SQL formatting standards. It can be used to distribute and enforce SQL formatting rules among team members. To perform capitalization formatting, it is enough to:

  1. Download ApexSQL Refactor
  2. Launch your SQL Server Management Studio or Visual Studio’s and click ApexSQL Refactor on the Main menu
  3. From the ApexSQL Refactor menu, click the Format T-SQL code option
  4. Select Formatting options Set the specific option (Capitalization)
  5. Preview the option’s effect on the current query or a built-in example

Capitalization formatting Note: Before configuring capitalization standards, ensure your database doesn’t have case-sensitive collation. This can cause big problems when playing with capitalization.

If you wish to learn more, I suggest to read these 2 articles to see how capitalization is handled with ApexSQL Refactor:

share|improve this answer

SQL Pretty Printer does it pretty well for me. It's a small and easy-to-install plugin for SSMS. You set up your preferences and then whenever you want to format code, just click the icon on its toolbar.

share|improve this answer
FYI: Free trial, or $50 to purchase. – kmote Feb 11 at 16:55

One more very simple solution: use notepad++. Inside there is very good plugin called Poor man's sql formatter. The drawback is that you have to paste SQL inside the notepad++. But it is free.

There is also a web page, but I did not try it.

share|improve this answer
He also wrote a plug-in for SSMS. I use it and recommend it all the time. – Jonathan Fite Feb 11 at 17:24
I don't know that I will try it for sure! 10x for the comment @Jonathan Fite! – Bogdan Bogdanov Feb 12 at 8:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.