Kontrollere databasens låseadfærd
Vigtige oplysninger
Dette indhold er arkiveret og opdateres ikke. Du kan få den nyeste dokumentation ved at gå til Nyheder og planlagte tiltag til Dynamics 365 Business Central. Du kan få vist de seneste udgivelsesplaner i Udgivelsesplaner til Dynamics 365, Power Platform og Cloud for Industry.
Aktiveret til | Offentlig forhåndsversion | Generel tilgængelighed |
---|---|---|
Administratorer, udviklere, marketingmedarbejdere eller analytikere automatisk | 1. marts 2023 | 1. april 2023 |
Forretningsværdi
Databaselåsning er en af hovedårsagerne til ydeevneproblemer. Når AL-kode kræver færre låse, øger det systemets ydeevne for brugerne.
Funktionsdetaljer
Som standard bestemmer kørselstiden af Business Centrals automatisk de isolationsniveauer, der bruges, når der forespørges i databasen. AL-udviklere kan nu eksplicit kontrollere databaseisolationsniveauet på individuelle læsninger på en postforekomst.
En ny ReadIsolation-metode er blevet indført på postdatatypen. Metoden har følgende syntaks:
rec.ReadIsolation := IsolationLevel::<enum value>
Metoden kan også startes vha. egenskabens adgangssyntaks.
Følgende tabel beskriver de mulige IsolationLevel-værdier:
Værdi | Beskrivelse |
---|---|
Standard | Følger tabellens isolationsniveau for aflæsninger; samme adfærd som ikke at angive et IsolationLevel. |
ReadCommitted | Tillader læsninger kun på reserverede data, Ikke data, der er blevet ændret af andre transaktioner, men som endnu ikke er reserveret. |
ReadUncommitted | Tillader registreringen at læse data, der er blevet ændret af andre transaktioner, men som endnu ikke er begået (også kaldet dirty reads). En ReadUncommitted-transaktion tager ingen låse og ignorerer låse fra andre transaktioner. |
RepeatableRead | Sikrer, at læsninger forbliver stabile i hele den aktuelle transaktions levetid. Indtil den aktuelle transaktion er fuldført, kan posten ikke læse data, der er blevet ændret, men endnu ikke bundet af andre transaktioner, og andre transaktioner kan ikke ændre data, der er blevet læst af den aktuelle transaktion. |
UpdLock | Sikrer, at læsninger forbliver ensartede i hele den aktuelle transaktions levetid. Indtil den aktuelle transaktion er fuldført, kan posten ikke læse data, der er blevet ændret, men endnu ikke bundet af andre transaktioner, og andre transaktioner med samme isolationsniveau kan ikke læse data, der er blevet læst af posten. |
Se også
Optag forekomstens isolationsniveau (dokumentation)