You should avoid the following characters in your object names in SQL Server.
If you do not do this, you will need to constantly identify those ill-named objects with bracketed or quoted identifiers - otherwise, unintended bugs can arise.
- tilde (~)
- hyphen/subtraction (-)
- exclamation point (!)
- left brace ({)
- right brace (})
- percent (%)
- caret (^)
- ampersand (&)
- period (.)
- left parenthesis (()
- right parenthesis ())
- backslash (\)
- accent grave (`)
- single quote (‘)
- double quote (“)
- colon (:)
- semi colons (;)
- question mark (?)
- Greater than and less than < or >
- Pipes (| )
- Division (/)
- Multiplication (*)
- Addition (+)
- Hash (#)
- At symbol (@)
- Equals (=)
- dollars ($)