Pregunta

¿hay alguna forma de decirle al servidor SQL que use la sugerencia (nolock) o cada selección en un procedimiento almacenado?

es bastante pesado agregarlo a cada una de las selecciones ...

¿Fue útil?

Solución 4

encontró esto ...

Cómo forzar la sugerencia de nolock para inicios de sesión del servidor sql

parece que la mejor manera de lograr esto es emitir un

ESTABLECER NIVEL DE AISLAMIENTO DE TRANSACCIÓN LEER SIN COMPROMISO

alguna otra idea ???

ps

otra pregunta relacionada ...

NOLOCK vs. Nivel de aislamiento de transacción

Otros consejos

Como otros dicen con razón, un global (nolock) se hace usando READ UNCOMMITTED.

Sin embargo, antes de seguir esa ruta, vale la pena intentar LEER LA INSTANTÁNEA COMPROMETIDA primero. Esto significa que sus lecturas no estarán bloqueadas por inserciones / actualizaciones en progreso y significa que los datos no están sucios, simplemente desactualizados.

Creo que esto es lo que estás buscando ...

ESTABLECER NIVEL DE AISLAMIENTO DE TRANSACCIÓN LEER SIN COMPROMISO

Desea utilizar la siguiente sintaxis :

ESTABLECER NIVEL DE AISLAMIENTO DE TRANSACCIÓN LEER SIN COMPROMISO

Encontré esto mirando la sugerencia de la tabla NOLOCK ubicada aquí . La sugerencia de tabla WITH (NOLOCK) es equivalente a establecer el nivel de aislamiento para que se LEA SIN COMPROMISO. Aquí está el fragmento de MSDN :

  

NOLOCK   Es equivalente a READUNCOMMITTED. Para obtener más información, consulte READUNCOMMITTED más adelante en este tema.

Sin embargo, puede terminar con datos incorrectos. En 2005, es preferible utilizar el aislamiento de instantáneas: "Cuando el aislamiento de instantáneas ayuda y cuándo duele" http://www.devx.com/dbzone/Article/32957

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