Ho una funzione (create in CLR e caricata in SQL SERVER) che fa dei calcoli abbastanza lunghi e crea una tabella adhoc. (Table valued function)

Il tempo di esecuzione è abbastanza, ma i dati servono solo una volta l'ora circa.
Così ho pensato di pre-eseguire la CLR un ora prima.

Mi servirebbe crearea una materialized view come fa Oracle per mantenere i dati in memoria.
L'idea originale era fare usare l'Agent job e fare in questo modo

codice:
drop table tb;
select * into tb from spvc_MiaProc();
L'operazione è rifutata perchè dice che il contesto corrente è già occupato (nonstante nella CLR abbia eliminato l'uso della context-connection e creata una nuova connessione al DB).

Se invece faccio una view
codice:
create view v1 as
select * into tb from spvc_MiaProc();
ll tutto funziona.
Ho letto su internet delle IndexedViews, ma al momento di creare il clustered index mi dice che non posso creare indici su contenuti generati da una CLR.
Insomma, come faccio a manterene i dati di questa funzione in memoria??