Así que estoy tratando de rastrear lo que parece un problema de interbloqueo here. He habilitado el registro de punto muerto usando DBCC TRACEON (1222, -1) y DBCC TRACEON (1204, -1). Me gustaría probar para asegurarme de que el registro atrapa el punto muerto, entonces ¿cómo puedo causar que ocurra uno en MS SQL 2005? Gracias,¿Cómo provocar deliberadamente un punto muerto?
10
A
Respuesta
30
aquí hay algo de T-SQL para causar deliberadamente un punto muerto.
creación del objeto:
CREATE TABLE dbo.DeadLockTest (col1 INT)
INSERT dbo.DeadLockTest SELECT 1
CREATE TABLE dbo.DeadLockTest2 (col1 INT)
INSERT dbo.DeadLockTest2 SELECT 1
abrir una nueva ventana de consulta y pega este código y ejecutarlo:
BEGIN TRAN
UPDATE dbo.DeadLockTest SET col1 = 1
abrir otra nueva ventana de consulta y pegar y ejecutar este código:
BEGIN TRAN
UPDATE dbo.DeadLockTest2 SET col1 = 1
UPDATE dbo.DeadLockTest SET col1 = 1
Regrese a la primera ventana de consulta (con el primer BEGIN TRAN
sta tement) y ejecutar este código:
UPDATE dbo.DeadLockTest2 SET col1 = 1
Voila! Eso es un punto muerto.
5
esto debería funcionar:
- Inserte dos registros, A y B.
- Abra dos transacciones.
- Actualice el registro A en la primera transacción y B en la segunda transacción.
- cuando se sabe a ciencia cierta se realizan las actualizaciones:
- actualización de registro B en la primera transacción y A en la segunda transacción.
Cuestiones relacionadas
- 1. ¿Cuándo un punto muerto no es un punto muerto?
- 2. Cómo causar un punto muerto
- 3. SqlException: Punto muerto
- 4. Punto muerto del semáforo
- 5. Punto muerto en ThreadPool
- 6. Punto muerto en ThreadPoolExecutor
- 7. Punto muerto en Ruby join()
- 8. Cómo depurar un punto muerto en Java usando Eclipse
- 9. ¿Cómo encontrar AMBOS hilos de un punto muerto?
- 10. Patrones para manejar un punto muerto SQL en C#?
- 11. Intento de punto muerto de ActiveRecord3
- 12. ¿Cómo codificar la regla de punto muerto de ajedrez?
- 13. ¿Cómo puedo evitar este aparente punto muerto de EhCache?
- 14. ¿Cómo puedo retrasar deliberadamente Windows?
- 15. Agregar cuenta en AccountManager puede provocar un interbloqueo
- 16. Bloqueo de reentrada y punto muerto con Java
- 17. ¿Alguien puede explicar el punto muerto del buffer de tubería?
- 18. ¿Cómo hacer un reportero de enlace muerto?
- 19. Diferencia entre condición de carrera y punto muerto
- 20. ¿Es posible que ConcurrentHashMap esté en "punto muerto"?
- 21. punto muerto en código Java con semáforo y adquirir (int)
- 22. ¿Cómo puede la marca de tiempo causar un "punto muerto global"?
- 23. ¿Cómo puedo identificar las filas involucradas en un punto muerto de Oracle?
- 24. ¿Cómo despachar en la cola principal sincrónicamente sin un punto muerto?
- 25. ¿Cómo obtener un manejo eficaz del punto muerto del servidor Sql en C# con ADO?
- 26. Cómo puedo causar un punto muerto en MySQL para propósitos de prueba
- 27. ¿Cómo puedo evitar un punto muerto entre estas dos declaraciones SQL?
- 28. XSL: Muerto o no muerto
- 29. ¿Puede llamar a WSAStartup() desde varios subprocesos para provocar un interbloqueo?
- 30. Set $ .prop() sin provocar cambio
Si el problema en su otra publicación son bloqueos y no bloqueo, debería obtener un error de interbloqueo en lugar de un error de tiempo de espera. –