2012-06-04 22 views
6

¿Cuáles son los pros y los contras de establecer READ_COMMITTED_SNAPSHOT ON en SQL Server 2008?Pros y contras de READ_COMMITTED_SNAPSHOT

En realidad yo estaba corriendo a través del problema de los puntos muertos de transacción, pero estableciendo en READ_COMMITTED_SNAPSHOT ON y desactivación de la extensión de bloqueo (sólo en la tabla que se utilizan en transacciones que provocan estancamiento). Esto terminó el problema de interbloqueo en aproximadamente un 90%; pero me preocupa que pueda haber otros problemas como el rendimiento, etc.

Cualquier ayuda será muy apreciada.

Respuesta

10

Beneficios de RCSI:

  • proporciona una visión consistente de los datos en el momento de la consulta comenzó
  • no hay bloqueo
  • menos bloqueos/escaladas

Esto no es gratis , sin embargo; tempdb se usa para mantener lo que llama una "tienda de versiones". Lo que puede significar:

  • espacio & requisitos de E/S para aumentar tempdb para mantener versiones
  • degradación del rendimiento potencial si las transacciones de larga duración requieren versiones que tendrá lugar durante largos períodos y/o si existen muchas versiones

Además, la información de la versión de fila agrega 14 bytes por fila.

Las alternativas comunes a RCSI generalmente implican la división de la actividad de escritura de los informes. Esto se puede hacer con diferentes tecnologías de alta disponibilidad, como el trasvase de registros, lo que refleja + instantáneas, o grupos de disponibilidad + de sólo lectura secundarios en SQL Server 2012.

Unas referencias doc oficiales: