SQL Server: ¿cómo configurar la sugerencia (nolock) como predeterminada?
-
10-07-2019 - |
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 ...
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 ...
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