Sicurezza thread in RDL con più set di dati
-
03-07-2019 - |
Domanda
Ho un RDL con più set di dati e le stored procedure memorizzate che popolano i set di dati creano e rilasciano tabelle temporanee con lo stesso nome.
Questo rapporto è stato eseguito 1000 volte senza alcun problema, ma mi chiedo se ci sono condizioni di gara in attesa di accadere. In linea di principio, è possibile che entrambe le stored procedure vengano eseguite in parallelo sulla stessa connessione ed entrambe le procedure tentano di creare / eliminare le stesse tabelle temporanee con lo stesso nome: non ho testato questa affermazione, sto solo ipotizzando.
I set di dati multipli in un RDL vengono eseguiti in parallelo sulla stessa connessione?
Se c'è un problema di concorrenza nel mio rapporto, come posso risolverlo?
Soluzione
Finché non sono ##<tablename>
che sono tabelle temporanee globali, starai bene. Le tabelle temporanee regolari #<tablename>
sono specifiche della sessione. Due chiamate diverse manterranno ciascuna la propria versione del #<table>
in tempdb con nomi come #table___________________________________________92343ABE452DC