Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Detaljer
| Egenskap | Värde |
|---|---|
| Produktnamn | SQL Server |
| Händelse-ID | 845 |
| Händelsekälla | MSSQLSERVER |
| Komponent | SQLEngine |
| Symboliskt namn | BUFLATCH_TIMEOUT |
| Meddelandetext | Timeout inträffade under väntan på buffertlås typ %d för sida %S_PGID, databas-ID %d. |
Förklaring
En process väntade på att hämta en spärr, men processen väntade tills tidsgränsen upphört och kunde inte hämta en. Det kan inträffa om det tar för lång tid att slutföra en I/O-åtgärd, vanligtvis som ett resultat av andra aktiviteter som blockerar systemprocesser. I vissa fall kan det här felet bero på maskinvarufel.
Orsak
Det här felmeddelandet är beroende av systemets övergripande miljö. Någon av följande omständigheter kan leda till ett överstressat system:
- Maskinvara som inte uppfyller dina behov av indata/utdata (I/O) och minne
- Felaktigt konfigurerade och testade inställningar
- Ineffektiv design
Du kan se fel 845 när systemet är hårt belastat och inte kan uppfylla arbetsbelastningskraven. Några av de vanligaste orsakerna till en stressad miljö är:
- Maskinvaruproblem
- Komprimerade volymer
- Konfigurationsinställningar för SQL Server som inte är standard
- Ineffektiva frågor eller indexdesign
- Frekventa autosparåtgärder för databasåterväxt eller autoshrink
Användaråtgärd
Försök med följande för att förhindra att det här felet inträffar:
Kontrollera om du har några flaskhalsar i maskinvaran. Se Identifiera flaskhalsar för ett bra ställe att börja på. Om det behövs uppgraderar du maskinvaran så att den kan tillgodose behoven i din miljös konfiguration, frågor och belastning.
Kontrollera att alla maskinvarufunktioner fungerar korrekt. Kontrollera om det finns loggade fel och kör diagnostik som tillhandahålls av maskinvaruleverantören. Sök efter associerade I/O-fel i felloggen eller händelseloggen. I/O-fel pekar vanligtvis på ett diskfel.
Kontrollera att diskvolymerna inte komprimeras. Lagring av data och loggfiler på komprimerade enheter stöds inte. Mer information finns i Databasfiler och filgrupper. Mer information om stöd för komprimerade enheter finns i följande artikel: Beskrivning av stöd för SQL Server-databaser på komprimerade volymer
Se om felmeddelandena försvinner när du inaktiverar alla följande konfigurationsalternativ för SQL Server:
Justera frågor för att minska de resurser som används i systemet. Prestandajustering hjälper till att minska belastningen på ett system och förbättra svarstiden för enskilda frågor.
Ange egenskapen autoshrink till AV för att minska kostnaderna för ändringar i databasens storlek.
Se till att du anger egenskapen autogrow till steg som är tillräckligt stora för att vara ovanliga. Schemalägg ett jobb för att kontrollera det tillgängliga utrymmet i dina databaser och öka sedan databasens storlek under låg belastning.
Kontrollera felloggen för icke-givande uppgifter och andra kritiska fel. Lös dessa fel först eftersom de kan peka på rotorsaken till det underliggande problemet.
Om kritiska fel, till exempel påståenden ofta inträffar, kan du lösa dessa problem.
Om 845-felmeddelandena är ovanliga kan du ignorera felen.