De prestaties van uw database - gedreven applicaties is vaak afhankelijk van die van uw SQL Server-software , en de vertragingen of timeouts optreden voor een aantal redenen . Hardware of geheugenkaarten knelpunten , geblokkeerde dossiers of problematische procedures kunnen allemaal een rol in SQL performance problemen spelen . Terwijl u de problemen de meeste SQL Server problemen vereist beheerdersrechten en database kennis , het lokaliseren probleem queries en het optimaliseren van zowel de server en database zullen voorkomen dat meer problemen op de weg . Oorzaken Omdat time-outs en performance problemen kunnen voortkomen uit een verscheidenheid van oorzaken , dan moet je een systematische strategie voor probleemoplossing ontwikkelen om een probleem lokaliseren en te repareren . Microsoft raadt u beginnen met het testen met behulp van SQL Profiler , welke acties van uw server logs , zodat u het probleem te isoleren . Voor meer informatie over het instellen van SQL Profiler om een spoor uit te voeren , zie de link in Resources . SQL Server 2012 bevat ook een gebruikersinterface voor het Extended Events Profiler , waar de plaats van SQL Profiler in toekomstige versies volledig zal nemen . Blocking De meeste time-out problemen optreden vanwege geblokkeerde platen . Blokkeren treedt op wanneer een verbinding blokkeert een record dat een andere verbinding moet vergrendelen met een ander slot type. Het blokkeren is eigenlijk normaal gedrag , maar kunnen vertragingen veroorzaken bij het slow - query's ook worden geblokkeerd , wordt een index ontbreekt of in bepaalde andere omstandigheden . Terwijl standaard de server voor onbepaalde tijd zal wachten op een geblokkeerde plaat , beheerders vaak gebruik van de instelling " LOCK_TIMEOUT " om server vertragingen te voorkomen . Om te bepalen of uw server is het hebben problemen met het blokkeren , voert u de volgende opgeslagen procedure wanneer uw server ervaart typische belasting : exec sp_who Kijk in de uitvoer om andere dan 0 vermeldingen in het " , blk "kolom . Als ze bestaan , kunt u uw SQL Profiler -uitgang gebruiken om nul op slow - query's die kunnen worden veroorzaakt de blokkering . Bad Uitvoeringsplan Als de server draait een query , gebruikt het beschikbare gegevens te optimaliseren hoe het de query wordt uitgevoerd . Af en toe de server gissingen verkeerd, wat resulteert in een slechte optimalisatie plan . Als het slechte plan in de cache is geladen , kan het over en weer lopen over , het vertragen van elke query aanzienlijk of time-out . Met behulp van de gegevens uit de SQL Profiler of SQL Query Analyzer , kunt u slow - query's te lokaliseren en af te stemmen zodat ze sneller draaien . Systeem Knelpunten System prestaties kunnen ook invloed hebben op de prestaties van SQL Server en de oorzaak time-outs . Om te bepalen of uw systeem ondergaat belasting problemen , lopen rendementsmonitor en kijk voor hoger - dan - normaal CPU-gebruik of langer - dan - gebruikelijke I /O-verzoeken . Zoals met geblokkeerde dossiers , zal overeenkomen met de verhoogde belasting met de gegevens uit de SQL Profiler helpen nul in op query's , compilaties of andere procedures waarbij grote hoeveelheden van de middelen . Als het aanpassen van de procedures niet mogelijk is, dan moet je RAM-geheugen van de server te verbeteren , rekenkracht of prestaties schijf .
|