sql >> Base de Datos >  >> RDS >> Sqlserver

Niveles de aislamiento de SQL Server:Serie A

Crédito de la foto:Alexander Baxevanis

Actualizado el 23 de abril de 2015

El año pasado, preparé una serie de publicaciones destinadas a analizar detalladamente la concurrencia, las propiedades ACID de las declaraciones y transacciones, y cada uno de los principales niveles de aislamiento en SQL Server. Ahora he concluido la serie con una publicación final sobre probablemente el nivel de aislamiento usado intencionalmente más común:lectura no confirmada ("NOLOCK").

Las propiedades ACID de extractos y transacciones
El nivel de aislamiento serializable
El nivel de aislamiento de lectura repetible
El nivel de aislamiento de lectura confirmada
Aislamiento de instantáneas confirmadas de lectura
Modificaciones de datos bajo aislamiento de instantáneas confirmadas de lectura
El nivel de aislamiento SNAPSHOT
El nivel de aislamiento de lectura no confirmada

Dado que ha sido paciente con la entrega final, hay otras lecturas/observaciones en segundo plano en lectura no confirmada que puedo ofrecer:

  • Lubor Kollar:es posible que se pierdan las filas confirmadas anteriormente si se usa la sugerencia NOLOCK
  • Aaron Bertrand:Malos hábitos:poner NOLOCK en todas partes
  • Craig Freedman:Error de consulta con lectura no confirmada
  • Aaron Bertrand:Evite usar NOLOCK en declaraciones UPDATE y DELETE de SQL Server
  • David Lean:SQL Server NOLOCK Sugerencia y otras malas ideas
  • Sunil Agarwal:Serie de concurrencia:¿Por qué se me bloquea cuando uso el nivel de aislamiento de lectura no confirmada o uso la sugerencia NOLOCK?
  • Tony Rogerson:Timebomb:el problema de coherencia con NOLOCK / READ UNCOMMITTED (y seguimiento)