He leído aquí que se almacenarán algunos datos adicionales por fila, por lo que podríamos ver una degradación del rendimiento, pero ¿qué otros riesgos existen?
p.ej. ¿Afectará esto la recuperación de la base de datos? ¿Hay algo más que debamos hacer para aprovechar esto?
Planeo ejecutar estos comandos:
ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE DatabaseName SET ALLOW_SNAPSHOT_ISOLATION ON
Creo que esto nos dará algo más cercano a Oracle donde si una transacción se actualiza, otras transacciones aún pueden leer los datos antiguos. ¿Es esto correcto?
Estoy investigando esto porque estoy harto de problemas de bloqueo en SQL Server 2005. Espero que esto pueda reducir los bloqueos ocasionales que ven nuestros usuarios, ayudar al rendimiento general de nuestra aplicación y alentar a nuestros desarrolladores a realizar más de una operación por transacción sin miedo.
fuente