A propos des niveaux d'isolation de transaction
Le paramétrage du mode de lecture de la collecte correspond à l'instruction SQL SET TRANSACTION ISOLATION LEVEL READ COMMITTED [ou UNCOMMITTED]. Il s'applique aux requêtes qui chargent les collections principales, les collections secondaires et les listes et s'applique également aux validations "intra-collections". Il s'applique également aux requêtes des tâches d'arrière-plan qui génèrent des états ainsi qu'aux procédures enregistrées des tâches d'arrière-plan.
Le niveau d'isolation de base des transactions pour l'ensemble du système est paramétré dans l'écran Valeur/défaut des traitements. Vous pouvez modifier ce paramètre (UNCOMMITTED ou COMMITTED/NON VALIDE ou VALIDE) pour les états individuels et les procédures enregistrées, sur l'écran Déf Tâche d'arrière-plan. Vous pouvez également remplacer le paramètre au niveau écran via le champ Mode lecture en mode conception.
Le paramètre UNCOMMITTED (NON VALIDE) permet la lecture des données non validées. Avec ce paramètre, les utilisateurs n'ont pas besoin d'attendre la fin des autres transactions longues accédant aux mêmes données pour que leurs requêtes soient exécutées. Cependant, un enregistrement non validé peut être annulé entre le moment de son affichage par la requête et le moment où l'utilisateur essaye d'enregistrer des mises à jour le concernant. Les utilisateurs ne peuvent pas sauvegarder un enregistrement si des données non validées ont été annulées à un moment ou un autre après la requête, car dans ce cas le verrouillage échouera. L'utilisateur doit actualiser l'enregistrement pour obtenir des données valides avant de modifier et d'enregistrer les données.
Avec le paramètre COMMITTED (VALIDE), une requête lit les données validées et retourne uniquement des données pour lesquelles elle peut obtenir un verrouillage partagé.