Pregunta

En primer lugar no estoy preguntando si NOLOCK debe o no debe ser utilizado. Vamos a conseguir más allá de eso.

Creo que la cuestión se reduce a cómo SQL Server escribe los datos? Es toda una fila a la vez o por escrito qué escribe una columna a la vez?

Lo digo porque la sugerencia NOLOCK se está considerando. Una lectura sucia está bien, siempre y cuando se devuelve toda la fila (o no se devuelve). filas parcialmente escritas no son aceptables.

¿Fue útil?

Solución

No. operaciones de modificación de datos como inserciones, actualizaciones y eliminaciones están protegidos por un bajo nivel físico Cierres . Todas las operaciones de acceso a datos, incluyendo SELECT sin bloqueo, están obligados a cumplir con el protocolo de cierre. El resultado es que las escrituras parciales no son vistos por cualquier lector.

Otros consejos

No, no volverá filas parcialmente escritas. NOLOCK sólo significa que esta consulta no creará nuevas esclusas. Esto no quiere decir que no cumplirá las cerraduras existentes, y el servidor SQL no hará nada que escribe datos sin obtener primero un bloqueo.

Lo que podría hacer es filas de retorno que están fuera de fecha o ya no es relevante, porque otra cosa escribió a una fila que normalmente habría sido encerrado por esta consulta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top