Symptom
Tänk dig följande scenario:
Du kör en procedur i Microsoft SQL Server 2014 eller SQL Server 2012.
Proceduren innehåller en fråga och har följande villkor:
- Den kopplar en tabell som uppdateras mycket ofta.
- Den har en WHERE-sats som innehåller parametrar.
- Den använder Option(Kompilera om).
Den här proceduren körs på flera samtidiga anslutningar som har olika uppsättningar parametervärden.
Servern är hårt belastad vilket gör att var och en av de här procedurerna tar längre tid än vanligt.
I det här scenariot kan du få felaktiga resultat från proceduren som körs på anslutningen om följande ytterligare villkor uppfylls under det tidsintervall som inträffar mellan slutet av frågekompileringen och början av frågekörningen på anslutningen:
- Villkor 1: En annan samtidig anslutning gör uppdateringar i den kopplade tabellen som är tillräckligt stora för att utlösa en ny kompilering av frågan på anslutningen.
- Villkor 2: Samma fråga kompilerades om från en annan anslutning och placerades sedan i cacheminnet.
Viktigt: Det här tidsproblemet är extremt ovanligt.
Orsak
Det här problemet uppstår på grund av att parametervärdena för frågan ändras till felaktiga värden när du kör frågan på anslutningen. Detta inträffar på grund av ett extremt sällsynt tidsproblem som finns mellan samtidiga kompileringar.
Lösning
Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server.
Kumulativ uppdatering 4 för SQL Server 2014 /en-us/help/2999197
Kumulativ uppdatering 2 för SQL Server 2012 SP2 /en-us/help/2983175
Kumulativ uppdatering 11 för SQL Server 2012 SP1 /en-us/help/2975396
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
- Senaste kumulativa uppdateringen för SQL Server 2014
- Senaste kumulativa uppdateringen för SQL Server 2012 SP2
- Senaste kumulativa uppdateringen för SQL Server 2012 SP1
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".