How do I disable square braces when generating scripts from SSMS?
While it might bother you, it's a good practice. It ensures that any strange characters in your objects, spaces, etc., don't cause issues when you run the script. You might think you'll never do this, but with a version upgrade, that table you created in a previous version might now have a keyword for a name.
You can't, as far as I know.
Currently there is no option to do this. It is SQL Servers fail-safe way of generating scripts for YOUR objects, that you might have named with a reserved keyword.
I think it is a nuisance, and I agree wholehartedly with the questioner that there ought to be a way to kick it out. Although I have to admit that I occasionally use them when I accidentally use a reserved word, I don't see why one should not be able to enforce a 'standards' mode in a database, and do without the square braces. To illustrate the way that one can abuse all guidelines for sensible programming by means of square braces, see my blog post. Evil Code
Hate It. I believe there should be something like the VB "Option Explicit" which would explicitly disable any reserved words from being a DB object.
RegEx Find and Replace. Find "[\[\]]" Replace ""
Our IT use multiple instances on the same server, so server\SQL1, etc. If I don't use square brackets, then everything fails. User-schema objects (Domain\LoginID) also fail. Square brackets don't interfere with anything when your objects are well-formed names, despite Phil's gnarly examples, I think it's a very low-risk thing to use and solves more problems than it creates.
4 People are following this question.