Nella tua situazione utilizziamo una tabella permanente chiamata tabella di staging. Questo è un metodo comune con grandi importazioni. In effetti, generalmente utilizziamo due tabelle di staging, una con i dati grezzi e una con i dati ripuliti che facilitano la ricerca di problemi con il feed (sono quasi sempre il risultato di modi nuovi e vari che i nostri clienti trovano per inviarci dati spazzatura, ma dobbiamo essere in grado di dimostrarlo). Inoltre eviti problemi come dover aumentare il db temporaneo o causare problemi ad altri utenti che desiderano utilizzare il db temporaneo ma devono aspettare che cresca per te, ecc.
Puoi anche utilizzare SSIS e saltare le tabelle di staging, ma trovo molto utile la possibilità di tornare indietro e ricercare senza dover ricaricare una tabella da 50.000.000.