No estoy tratando de comenzar una discusión de tipo Windows / Mac.
Personalmente, no necesito ningún convencimiento que NOLOCK
no sea una buena idea como práctica reflexiva. Parece que cuando estás desarrollando todo debería ser útil, no reaccionario (/ amen)
Entonces ... el programador a cargo insiste en que NOLOCK
es el camino a seguir. Se recomienda con todas las consultas ad-hoc y siempre que se consulte la producción. No he visto un procedimiento almacenado sin pistas nolock en cada tabla.
No quiero ser ese tipo que entra y les dice a todos que una creencia central está mal sin algo que lo respalde.
Simplemente mirando las sesiones de comentarios en las diferentes publicaciones del blog, enviar un enlace puede no ser suficiente. Creencias de larga data, etc. Algunas personas no están convencidas de que sea un problema. Ver: sección de comentarios debajo de cada publicación de blog de nolock que he leído.
Actualmente, algunos otros DBA están luchando con algunos misteriosos puntos muertos. ¿Cómo se determina si los NOLOCK son la fuente?
Se ha sugerido mirar XML desde trazas, etc., pero esto no indicará explícitamente que los puntos muertos están causando el problema, ¿verdad? Nunca he visto mensajes de error tan directos. ¿es eso cierto?
¿De qué otra forma podrían fijarse estos puntos muertos en esto?
Las declaraciones DDL como CREATE
serían una pista. ¿Hay algún resultado al que pueda apuntar o algún dato que pueda encontrar que ayude a corroborar mi teoría antes de dar la alarma?
¿O estoy ejecutando marcas de seguimiento o eventos extendidos para identificar qué se está ejecutando cuando se producen los puntos muertos y luego deducir de las declaraciones DDL?
Al observar todas las diferentes formas en que los datos pueden confundirse con las sugerencias de nolock, parece un problema difícil de determinar de manera decisiva.
fuente