2010-10-22 14 views
10

Estamos tratando de probar nuestro nuevo software aquí que se basa en SQL 2005. Queremos ver cómo responderá cuando una de las tablas que el software está usando durante la inserción/actualización se bloqueatabla de bloqueo de SQL para un período de tiempo

¿Hay alguna forma en SQL 2005 de simular esto? para que podamos ver cómo podemos manejar el error en el frente?

+0

Abrir una transacción en una conexión interactiva que requiere la tabla bloqueada? – Amber

Respuesta

5

Usando otra sesión,

  1. Hacer un BEGIN TRANSACTION

  2. llamada UPDATE table set columnName = columnName

  3. Ejecutar la prueba de

  4. a verificar los resultados

  5. COMMIT TRAN/ROLLBACK TRAN la transacción

27

En SQL Server Management Studio, ejecute esta secuencia de comandos TSQL (juego de tiempo de espera a lo que más le convenga)

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 
GO 

BEGIN TRANSACTION 

UPDATE table 
SET ColumnName = ColumnName 

WAITFOR DELAY '00:02:00' -- 2 minutes hh:mm:ss 

-- Run your test while table is locked and delay is counting down 

ROLLBACK TRANSACTION 
+0

mientras la tabla está bloqueada durante 2 minutos, cualquier otra transacción esperará 2 minutos o generarán error de inmediato? – srh

+1

que depende de qué tiempo de espera se establece en la conexión/comando que emite la consulta que está esperando. –

Cuestiones relacionadas