uncommitted transaction repeatable read niveles lectura datos confirmada aislamiento sql database

sql - transaction - ¿Cuál es la diferencia entre el nivel de aislamiento de lectura repetible y serializable?



set transaction isolation level snapshot in sql server (2)

¿Cuál es la diferencia entre el nivel de aislamiento de lectura repetible y serializable? ¿Alguien puede dar un ejemplo simple?


Resumen:

En un nivel de aislamiento de lectura repetible, se pueden insertar nuevas filas en el conjunto de datos.

En un nivel de aislamiento Serializable, todas las filas están bloqueadas por la duración de la transacción, no se permite la inserción, actualización o eliminación.

Por favor refiérase a esto para ejemplos y explicación.

Nivel de aislamiento - serializable

http://beyondrelational.com/modules/2/blogs/28/posts/10467/sql-server-transaction-isolation-level-serializable.aspx

Nivel de aislamiento - lectura repetible

http://beyondrelational.com/modules/2/blogs/28/posts/10466/sql-server-transaction-isolation-level-repeatable-read.aspx


La lectura repetible solo evita la lectura no repetible (por lo que puede leer los mismos datos en la misma transacción sin temor a que alguien la cambie, aunque es una necesidad rara de hacerlo).

Serializable evita tanto la lectura no repetible como las filas fantasmas (por lo que ni siquiera puede INSERTAR datos). Eso significa que puede LEER y ESCRIBIR (SELECCIONAR, ACTUALIZAR) filas que no están incluidas con la transacción serializable, pero no puede BORRAR O INSERTAR filas en el nivel TABLA.

Tanto la lectura repetible como la serializable son muy estrictas y no siempre hay necesidad de ellas.