Ho avuto questo problema oggi e ho trovato una soluzione alternativa conveniente, almeno in una situazione ad hoc.
Le tabelle temporanee possono essere create da qualsiasi utente con autorizzazioni di connessione. Ciò significa che puoi anche creare tabelle temporanee GLOBAL.
Basta eseguire la query in Enterprise Manager (o sql cmd o altro) utilizzando SELECT ...INTO con una tabella temporanea globale, ad es.
SELECT *
INTO ##mytemptable
FROM SomeTable
WHERE [massive where clause, for example]
È quindi possibile utilizzare la tabella temporanea nella query BCP con un semplice
SELECT * FROM ##mytemptable
Quindi rilascia la tabella temporanea tramite Enterprise Manager
DROP TABLE ##mytemptable