Il problema deriva dal fatto che la cartella Temp dell'utente in cui è in esecuzione il servizio SQL Server non è accessibile con le credenziali in esecuzione della query. Prova a impostare la sicurezza di questa cartella temporanea con restrizioni minime. Il dsn che viene creato ogni volta che si esegue una query openrowset può essere ricreato senza alcun conflitto di credenziali. Questo ha funzionato per me senza alcun requisito di riavvio.