Los corchetes []
se utilizan para delimitar identificadores. Esto es necesario si el nombre de la columna es una palabra clave reservada o contiene caracteres especiales como un espacio o un guión.
A algunos usuarios también les gusta usar corchetes incluso cuando no son necesarios.
Desde MSDN:
Identificadores delimitados
Se encierran entre comillas dobles (") o corchetes ([ ]). Los identificadores que cumplen con las reglas de formato de los identificadores pueden o no estar delimitados.
SELECT *
FROM [TableX] --Delimiter is optional.
WHERE [KeyCol] = 124 --Delimiter is optional.
Los identificadores que no cumplan con todas las reglas para identificadores deben delimitarse en una instrucción Transact-SQL.
SELECT *
FROM [My Table] --Identifier contains a space and uses a reserved keyword.
WHERE [order] = 10 --Identifier is a reserved keyword.