Es una mala idea seleccionar * de cualquier cosa, punto. Es por eso que SSMS agrega todos los nombres de campo, incluso si hay cientos, en lugar de seleccionar *. Es extremadamente ineficiente independientemente de lo grande que sea la tabla. Si no sabe cuáles son los campos, es aún más eficiente sacarlos de la base de datos INFORMATION_SCHEMA de lo que es seleccionar *.
Una consulta mejor sería:
SELECT
COLUMN_NAME,
Case
When DATA_TYPE In ('varchar', 'char', 'nchar', 'nvarchar', 'binary')
Then convert(varchar(MAX), CHARACTER_MAXIMUM_LENGTH)
When DATA_TYPE In ('numeric', 'int', 'smallint', 'bigint', 'tinyint')
Then convert(varchar(MAX), NUMERIC_PRECISION)
When DATA_TYPE = 'bit'
Then convert(varchar(MAX), 1)
When DATA_TYPE IN ('decimal', 'float')
Then convert(varchar(MAX), Concat(Concat(NUMERIC_PRECISION, ', '), NUMERIC_SCALE))
When DATA_TYPE IN ('date', 'datetime', 'smalldatetime', 'time', 'timestamp')
Then ''
End As DATALEN,
DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
Where
TABLE_NAME = ''
la versión de SQL? (MysQl, SQL Server, etc.) –