Acerca de niveles de aislamiento de la transacción
La configuración de modo lectura de recolección corresponde a la instrucción Transact-SQL SET TRANSACTION ISOLATION LEVEL READ COMMITTED [o UNCOMMITTED]. Se aplica a consultas que cargan recolecciones primarias, recolecciones secundarias, y listas, y en validaciones "en recolección". También se aplica a consultas de tareas de segundo plano que generan informes y a procedimientos almacenados de tareas de segundo plano.
La base, niveles de aislamiento de transacción de todo el sistema se establece en el formulario Procesos predeterminados. Puede anular esta configuración (UNCOMMITTED o COMMITTED) para informes individuales y procedimientos almacenados en el formulario Definiciones de tareas de segundo plano. También puede anular la configuración a nivel de formulario por medio del campo Modo lectura en modo de diseño.
La configuración UNCOMMITTED permite la lectura de datos no confirmados. Los usuarios no tienen que esperar por otras transacciones de larga duración accediendo al mismo conjunto de datos para completar antes de que sus consultas se puedan completar. Sin embargo, un registro no confirmado puede ser desecho entre el momento que la consulta lo muestra y el momento que el usuario intenta guardar actualizaciones al mismo. Los usuarios no pueden guardar un registro si los datos no confirmados fueron deshechos en algún momento después de la consulta, porque el bloqueo optimista fallará. El usuario debe actualizar el registro para obtener datos válidos antes de realizar cambios y guardar los datos.
Con la configuración COMMITTED, una consulta lee datos confirmados y solo devuelve datos cuya consulta pueda obtener bloqueo compartido.