2009-06-23 7 views
10

¿hay alguna forma de decirle al servidor sql que use la sugerencia (nolock) o cada selección en un procedimiento almacenado?SQL Server: cómo configurar (nolock) sugerencia como valor predeterminado?

es bastante tedioso para añadirlo a cada una cada seleccione ....

+2

Usted desea tener cuidado de hacer esto sobre todo en entornos de transacciones de gran volumen debido a las lecturas sucias. –

+2

Antes de hacer esto, asegúrese de comprender todas las consecuencias de las lecturas sucias. Podría terminar perdiendo registros o duplicando registros en consultas, lo que en muchos casos no es bueno para su aplicación. –

Respuesta

6

creo que esto es lo que busca ...

SET nivel de transacción de aislamiento de lectura UNCOMMITTED

5

Usted quiere usar el siguiente syntax:

SET TRANSACTION ISOLATION LEVEL lectura no comprometida

encontré este b y mirando la sugerencia de la tabla NOLOCK ubicada en here. La sugerencia de tabla WITH (NOLOCK) es equivalente a establecer el nivel de aislamiento a ser LEÍDO SIN COMPROMISO. Aquí está el fragmento de MSDN:

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

14

Como otros dicen con razón, un mundial (nolock) se realiza mediante la lectura no confirmada.

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

0

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

Cuestiones relacionadas