Evitar locks en ejecuciones de SP's

11/09/2009 - 17:09 por jose | Informe spam
Buenos días. Existe la posibilidad de setear a nivel base de datos SET
TRANSACTION ISOLATION LEVEL READ UNCOMMITTED?

Tengo entendido que en SQL2005 o superior hay que ejecutar:

ALTER DATABASE AdventureWorks
SET READ_COMMITTED_SNAPSHOT ON;

Es realmente así?
es posible hacer esto en SQL 2000?

Necesito setear en SQL 2000 lectura sucia para los SPs y evitar lockeos.
Pero tengo 1000 sp's que no puedo modificar uno por uno, tampoco setearlo a
nivel servidor.

Deseo hacerlo a nivel base de datos.

muchas gracias
 

Leer las respuestas

#1 Emilio Boucau
11/09/2009 - 17:19 | Informe spam
Jose,

Hasta donde se, no hay manera de cambiar eso del lado del server / base en
SQL Server 2000. De todas maneras, tu decision de permitir por default
dirty reads en los SPs me parece francamente peligroso, a menos que tengas
muy buenas razones de negocio y asi lo manejes dentro del codigo. La
cantidad de inconsistencias de datos que te vas a generar sera abismal
(dirty reads, phantom rows, lost updates, etc.). Evitar lockeos no es razon
suficiente, pensa que los locks estan para algo, no ? Deberias analizar que
codigo tiene problemas y ver de mejorar eso.

Saludos !

Emilio Boucau
Buenos Aires - Argentina

"jose" wrote in message
news:
Buenos días. Existe la posibilidad de setear a nivel base de datos SET
TRANSACTION ISOLATION LEVEL READ UNCOMMITTED?

Tengo entendido que en SQL2005 o superior hay que ejecutar:

ALTER DATABASE AdventureWorks
SET READ_COMMITTED_SNAPSHOT ON;

Es realmente así?
es posible hacer esto en SQL 2000?

Necesito setear en SQL 2000 lectura sucia para los SPs y evitar lockeos.
Pero tengo 1000 sp's que no puedo modificar uno por uno, tampoco setearlo
a
nivel servidor.

Deseo hacerlo a nivel base de datos.

muchas gracias

Preguntas similares