Controllare il comportamento di blocco del database
Importante
Questo contenuto è archiviato e non viene aggiornato. Per la documentazione più recente, vai a Novità e funzionalità pianificate per Dynamics 365 Business Central. Per i piani di rilascio più recenti, vai a Piani di rilascio di Dynamics 365, Power Platform e Cloud per le soluzioni di settore.
Abilitata per | Anteprima pubblica | Disponibilità generale |
---|---|---|
Amministratori, autori, responsabili del marketing o analisti, automaticamente | ![]() |
![]() |
Valore aziendale
Il blocco del database è una delle cause principali dei problemi in ambito delle prestazioni. Quando il codice AL accetta meno blocchi, aumenta le prestazioni del sistema per gli utenti.
Dettagli sulla funzionalità
Per impostazione predefinita, il runtime di Business Central determina automaticamente i livelli di isolamento usati durante l'esecuzione di query sul database. Gli sviluppatori AL ora possono controllare in modo esplicito il livello di isolamento del database sulle singole letture di un'istanza di record.
Sul tipo di dati del record è stato introdotto un nuovo metodo ReadIsolation. Il metodo ha la seguente sintassi:
rec.ReadIsolation := IsolationLevel::<enum value>
Il metodo può anche essere richiamato usando la sintassi di accesso alle proprietà.
La tabella seguente descrive i possibili valori IsolationLevel:
Valore | Descrizione |
---|---|
Default | Segue il livello di isolamento della tabella per le letture. Comportamento analogo a quando non si imposta un IsolationLevel. |
ReadCommitted | Consente le letture solo sui dati sottoposti a commit, non sui dati modificati da altre transazioni ma non ancora sottoposti a commit. |
ReadUncommitted | Consente al record di leggere i dati modificati da altre transazioni ma non ancora sottoposti a commit (letture dirty). Una transazione ReadUncommitted non accetta blocchi e ignora i blocchi da altre transazioni. |
RepeatableRead | Assicura che le letture rimangano stabili per tutta la durata della transazione corrente. Fino al completamento della transazione corrente, il record non può leggere i dati modificati ma non ancora sottoposti a commit da altre transazioni e le altre transazioni non possono modificare i dati letti dalla transazione corrente. |
UpdLock | Assicura che le letture rimangano coerenti per tutta la durata della transazione corrente. Fino al completamento della transazione corrente, il record non può leggere i dati modificati ma non ancora sottoposti a commit da altre transazioni e le altre transazioni con identico livello di isolamento non possono modificare i dati letti dal record. |
Vedi anche
Livello di isolamento dell'istanza del record (documenti)