Symptomer
Tenk deg følgende:
-
Du har en database for Microsoft SQL Server 2012 med alternativer for ALLOW_SNAPSHOT_ISOLATION og READ_COMMITTED_SNAPSHOT aktivert.
-
Du har minst tre samtidige spørringer som kjører mot den samme tabellen.
-
Spørringene bruke spørringen tipset (TABLOCK, UPDLOCK) .
-
Hver spørring er pakket i en eksplisitt BEGYNNER TRAN -setning, men Utfør TRAN setningenikke er utført.
Når den første spørringen er utført i dette scenariet, vranglås ett av de andre spørringene.
Når READ_COMMITTED_SNAPSHOT er aktivert med TABLOCK og UPDLOCK spørring tipsene, ta øktene IX låser på tabellen. I vranglås oppstår når to samtidige økter prøver å konvertere IX-låser til X låser på samme tid. Hvis READ_COMMITTED_SNAPSHOT er deaktivert, henter øktene SEKS låser ikke vil vranglås når de konverteres til X låser. Hurtigreparasjonen løser dette problemet ved å gi LCK_M_SCH_S låser i stedet for IX låser når READ_COMMITTED_SNAPSHOT brukes med TABLOCK og UPDLOCK tips. Obs! Dette problemet oppstår også i Microsoft SQL Server 2008 R2. En hurtigreparasjon for SQL Server 2008 R2 lanseres snart.Oppløsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Kumulativ oppdatering 8 for SQL Server 2012 SP1/en-us/help/2917531
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".