The first character must be one of the following:
- A letter as defined by the Unicode Standard 2.0
The Unicode definition of letters includes Latin characters from A through Z in addition to letter characters from other languages.
- The underscore (_), "at" sign (@) or number sign (#)
Certain symbols at the beginning of an identifier have special meaning in SQL Server. An identifier beginning with the "at" sign denotes a local variable or parameter. An identifier beginning with a number sign denotes a temporary table or procedure. An identifier beginning with double number signs (##) denotes a global temporary object.
Some Transact-SQL functions have names that start with double at signs (@@). To avoid confusion with these functions, it is recommended that you do not use names that start with @@.
Subsequent characters can be any of the following:
- Letters as defined in the Unicode Standard 2.0
- Decimal numbers from either Basic Latin or other national scripts
- The "at" sign, dollar sign ($), number sign, or underscore
The identifier must not be a Transact-SQL reserved word. SQL Server reserves both the uppercase and lowercase versions of reserved words. Embedded spaces or special characters are not allowed although you will see these objects in good old Northwind with names that include embedded spaces. You'll have to access them by enclosing them in brackets.
Dig Deeper on Microsoft SQL Server Database Development
Related Q&A from Joe Toscano
Getting an error when importing data from an Excel spreadsheet to SSIS in SQL Server 2005? Try lining up data types in Excel and SSIS so they match.continue reading
Is there a query to search text in a SQL Server DTS package? SQL Server expert Joe Toscano explains which database objects can be viewed.continue reading
Convert SQL Server 2000 DTS packages to SQL Server 2005 with this advice and also see how to overwrite data.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.