Próbuję więc wyśledzić, co wygląda na problem z zakleszczeniem here. Włączyłem rejestrowanie zakleszczeń za pomocą DBCC TRACEON (1222, -1) i DBCC TRACEON (1204, -1). Chciałbym przetestować, aby upewnić się, że rejestracja złapie zakleszczenie, więc jak mogę spowodować wystąpienie w MS SQL 2005? Dzięki,Jak celowo spowodować zakleszczenie?
10
A
Odpowiedz
30
Oto kilka T-SQL, aby celowo spowodować zakleszczenie.
stworzenie obiektu:
CREATE TABLE dbo.DeadLockTest (col1 INT)
INSERT dbo.DeadLockTest SELECT 1
CREATE TABLE dbo.DeadLockTest2 (col1 INT)
INSERT dbo.DeadLockTest2 SELECT 1
otworzyć nowe okno zapytań i wklej ten kod i uruchomić go:
BEGIN TRAN
UPDATE dbo.DeadLockTest SET col1 = 1
Otwórz się kolejny nowy okno zapytań i wklej oraz wykonywać ten kod:
BEGIN TRAN
UPDATE dbo.DeadLockTest2 SET col1 = 1
UPDATE dbo.DeadLockTest SET col1 = 1
Powrót do pierwszego okna zapytania (z pierwszym numerem BEGIN TRAN
tement) i wykonaj ten kod:
UPDATE dbo.DeadLockTest2 SET col1 = 1
Voila! To jest impas.
5
To powinno działać:
- Włóż dwa rekordy A i B.
- Otwartych dwóch transakcji.
- Zaktualizuj rekord A w pierwszej transakcji i B w drugiej transakcji.
- gdy wiesz na pewno te aktualizacje są wykonywane:
- Aktualizacja rekordu B w pierwszej transakcji i A w drugiej transakcji.
Powiązane problemy
- 1. Czy mogę spowodować wyjątek celowo w python?
- 2. Jak mogę spowodować zakleszczenie w MySQL dla celów testowych?
- 3. Czy wywołanie funkcji WSAStartup() z kilku wątków może spowodować zakleszczenie?
- 4. Co może spowodować zakleszczenie pojedynczej blokady zapisu/wielokrotnego odczytu?
- 5. Jak celowo usunąć boost :: shared_ptr?
- 6. Celowo zwracam NaN
- 7. Zakleszczenie asynchroniczne?
- 8. Jak celowo utworzyć długo działającą kwerendę MySQL
- 9. zakleszczenie postgresql
- 10. Zakleszczenie w klasie puli obiektów
- 11. Zakleszczenie java VirtualMachine.getSystemProperties()
- 12. Zakleszczenie na SELECT/UPDATE
- 13. Zakleszczenie Java w ClassLoaders
- 14. Zakleszczenie w ThreadPoolExecutor
- 15. Sonarqube 4.5.4: Zakleszczenie MySQL
- 16. Zakleszczenie w Ruby join()
- 17. Zakleszczenie zmiennej stanu
- 18. Zakleszczenie impulsu ActiveRecord3
- 19. Jak to może spowodować impas?
- 20. Jak utworzyć zakleszczenie w Grand Central Dispatch?
- 21. Jak celowo zamrozić javascript w chrome (plugin/console)
- 22. Możliwy zakleszczenie przy wywołaniu FreeLibrary
- 23. ikona waluty spowodować MySQL
- 24. Dereferencja może spowodować "java.lang.NullPointerException"
- 25. Jak spowodować rozszerzenie makra przed konkatenacją?
- 26. Jak spowodować celowy podział przez zero?
- 27. WPF Synchroniczna animacja i zakleszczenie gwintu interfejsu użytkownika
- 28. usuń _id z Mongo spowodować
- 29. Co może spowodować wygenerowanie SIGHUP?
- 30. Co może spowodować wyjątek java.lang.reflect.InvocationTargetException?
Jeśli problem z drugim wpisem to zakleszczenia, a nie blokowanie, należy uzyskać błąd zakleszczenia, a nie błąd przekroczenia limitu czasu. –