Jag hade det här problemet idag och hittade en bekväm lösning, åtminstone i en ad hoc-situation.
Tillfälliga tabeller kan skapas av alla användare med anslutningsbehörigheter. Det betyder att du också kan skapa GLOBALA temporära tabeller.
Kör bara din fråga i Enterprise Manager (eller sql cmd eller vad som helst) med SELECT ...INTO med en global temporär tabell, t.ex.
SELECT *
INTO ##mytemptable
FROM SomeTable
WHERE [massive where clause, for example]
Du kan sedan använda den temporära tabellen i BCP-frågan med en enkel
SELECT * FROM ##mytemptable
Släpp sedan temptabellen genom företagshanteraren
DROP TABLE ##mytemptable