Имах този проблем днес и намерих удобно решение, поне в случайна ситуация.
Временни таблици могат да бъдат създадени от всеки потребител с разрешения за свързване. Това означава, че можете също да създавате ГЛОБАЛНИ временни таблици.
Просто изпълнете заявката си в Enterprise Manager (или sql cmd или каквото и да е), като използвате SELECT ...INTO с глобална временна таблица, напр.
SELECT *
INTO ##mytemptable
FROM SomeTable
WHERE [massive where clause, for example]
След това можете да използвате временната таблица в BCP заявката с проста
SELECT * FROM ##mytemptable
След това пуснете временната таблица през мениджъра на предприятието
DROP TABLE ##mytemptable