Simptomi
Razmotrite sledeći scenario u microsoft SQL Server Compact 3.5:
-
Imate dve transakcije serijske izolacije.
-
Obe transakcije pokušavaju da izvrše DML operaciju (upit/DML) u istoj tabeli koja sadrži podsetnik za zaključavanje TABLOCK-a ili XLOCK podsetnik za zaključavanje.
U ovom scenariju, nailazite na zastoj.
Uzrok
Do ovog problema dolazi zato što obe transakcije čekaju jedna na drugu za XLOCK. Kada se upit sastavi, obe transakcije dobijaju deljeno zaključavanje u tabeli, a zatim drže katanac za serijsku izolaciju. Kada obe transakcije pokušaju da izvrše izvršavanje, upit u istoj tabeli koja sadrži XLOCK podsetnik za zaključavanje, zatim obe transakcije čekaju jedna na drugu za XLOCK. Zbog toga dolazi do zastoja.Napomena Do ovog problema dolazi i kada obe transakcije izvršavaju DML operaciju u istoj tabeli koja sadrži podsetnik za zaključavanje TABLOCK-a.
Rešenje
SQL Server Compact 3.5 servisni paket 2
Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 2. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2289547 Kumulativna ispravka 2 za SQL Server Compact 3.5 servisni paket 2
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Više informacija
Za više informacija o zastoju posetite sledeću Microsoft Developer Network (MSDN) Veb lokaciju:
ZastojZa više informacija o DML-u posetite sledeću MSDN Web lokaciju:
DMLZa više informacija o terminologiji softverskih ispravki kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
824684 Opis standardne terminologije koja se koristi za opisivanje Microsoft softverskih ispravki