SQL Server - Consulta del Isolation level usado por Sql Server

 
Vista:

Consulta del Isolation level usado por Sql Server

Publicado por Francisco Rica (1 intervención) el 11/12/2007 10:49:13
Hola a todos:

Tengo un aplicación de un cliente desarrollada con el gestor de base de datos SQL-Server y tengo problemas con los bloqueos de tablas debido a la configuración del isolation level. Aunque el algunas páginas web comentan que es posible conocer el isolation level está usando actualmente Sql Server, usando SELECT @@isolation, yo no he conseguido que me reconozca la variable de sistema @@isolation. ¿depende de la versión del Sql server? ¿cómo puedo consultar el isolation level que está usando mi Sql sever? Gracias anticipadas por las respuestas.

saludos.

-- francisco rica --
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta del Isolation level usado por Sql Serv

Publicado por Isaias (3308 intervenciones) el 11/12/2007 22:06:38
Francisco

Todo lo que respecta al NIVEL DE AISLAMIENTO, se explica en la ayuda en linea, aqui un copy-paste:

Personalizar el nivel de aislamiento de la transacción
De forma predeterminada, Microsoft® SQL Server™ 2000 funciona con el nivel de aislamiento READ COMMITTED (Lectura confirmada). Sin embargo, cabe la posibilidad de que una aplicación deba funcionar con un nivel de aislamiento diferente. Para utilizar niveles de aislamiento más o manos estrictos en las aplicaciones, se pueden personalizar los bloqueos de una sesión completa mediante la configuración del nivel de aislamiento de la sesión con la instrucción SET TRANSACTION ISOLATION LEVEL.

Cuando se especifica el nivel de aislamiento, el bloqueo de todas las instrucciones SELECT de la sesión de SQL Server funciona en ese nivel de aislamiento, y permanece en efecto hasta que finaliza la sesión o hasta que se establece otro nivel de aislamiento. Por ejemplo, para establecer el nivel de aislamiento a SERIALIZABLE y asegurarse de que las transacciones simultáneas no pueden insertar filas fantasmas en la tabla authors, ejecute:

USE pubs
GO
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors


Nota El nivel de aislamiento se puede pasar por alto, si es necesario, para instrucciones SELECT individuales; para ello, especifique una sugerencia de bloqueo de tabla. El hecho de especificar una sugerencia de bloqueo de tabla no afecta a las demás instrucciones de la sesión. Se recomienda que las sugerencias de bloqueo de tabla se utilicen para modificar el comportamiento de los bloqueos predeterminado, en los casos estrictamente necesarios.

Para determinar el nivel de aislamiento de la transacción que está establecido actualmente, utilice la instrucción DBCC USEROPTIONS, por ejemplo:

USE pubs
GO
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
GO
DBCC USEROPTIONS
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar