Allora devi modificare il batch aggiungendo le colonne.
Oppure, come ti ha già detto nicola75ss recuperare le colonne dallo schema, ma se la query include più tabelle la vedo complicata.
Oppure potresti modificare la query usando UNION ALL indicando nella prima riga i nomi delle colonne e poi le righe dei dati, esempio banale
codice:
SELECT TOP 1 'ID' AS ID, 'categoria' AS categoria, 'descrizione' AS descrizione, 'quantita' AS quantita
FROM articoli
UNION ALL
SELECT ID, categoria, descrizione, quantita FROM articoli
In questo modo tutti i campi saranno trattati come stringhe, ma dovendo esportare su un file CSV non comporta alcun problema.