Através do discurso fica claro que o problema está em usar o VS2010 para escrever a consulta, pois usa o canônico
CONCAT()
função limitada a 2 parâmetros. Provavelmente há uma maneira de mudar isso, mas não estou ciente disso. Uma alternativa:
SELECT '1'+'2'+'3'
Essa abordagem requer que valores não string sejam convertidos/convertidos em strings, bem como
NULL
manipulação via ISNULL()
ou COALESCE()
:SELECT ISNULL(CAST(Col1 AS VARCHAR(50)),'')
+ COALESCE(CONVERT(VARCHAR(50),Col2),'')