Die Leistung Ihrer Datenbank-gestützte Anwendungen ist oft abhängig , dass der SQL Server- Software und Verlangsamungen oder Timeouts kann für eine Reihe von Gründen auftreten. Hardware oder Speicher -Engpässe , blockiert Aufzeichnungen oder problematische Verfahren können alle spielen eine Rolle in SQL Performance-Probleme . Bei der Fehlersuche die meisten SQL Server-Probleme erfordert Administrator-Zugriff und Datenbank-Kenntnisse , Ortung Problem Abfragen und Optimierung sowohl Server und die Datenbank wird mehr Probleme auf der Straße zu verhindern. Verursacht
Weil Timeouts und Performance-Probleme aus einer Vielzahl von Ursachen stammen können , müssen Sie eine systematische Fehlersuche Strategie zu entwickeln, um zu lokalisieren und zu beheben ein Problem . Microsoft empfiehlt, dass Sie testen , indem Sie SQL Profiler , die Ihre Server- Aktionen protokolliert , so dass Sie das Problem isolieren können beginnen. Einzelheiten zum Einrichten von SQL Profiler , eine Spur ausführen, finden Sie den Link in Ressourcen . SQL Server 2012 enthält auch eine Benutzeroberfläche für die Extended Events Profiler , die komplett nehmen den Platz von SQL Profiler in zukünftigen Versionen .
Blocking
meisten Timeout Probleme auftreten wegen blockiert Aufzeichnungen . Blockierung tritt auf, wenn eine Verbindung sperrt ein Rekord , dass eine andere Verbindung muss sperren mit einer anderen Lock-Typ . Sperren ist eigentlich ein normales Verhalten , kann aber Verlangsamungen führen, wenn langsamen Abfragen auch blockiert werden, wird ein Index fehlt oder in bestimmten anderen Umständen . Während standardmäßig die Server auf unbestimmte Zeit blockiert werden für einen Datensatz , Administratoren verwenden oft das " LOCK_TIMEOUT "-Einstellung an den Server Verlangsamungen zu verhindern. Um festzustellen, ob Ihr Server Probleme mit Blockierung , führen Sie die folgende gespeicherte Prozedur , wenn Ihr Server erlebt typischer Last :
exec sp_who
Schauen Sie in der Ausgabe für andere Einträge als 0 in der " ; blk "-Spalte. Wenn es sie gibt, können Sie Ihre SQL Profiler Ausgang Den langsamen Abfragen , die verursachen können die Sperrung .
Bad Execution Plan
Null wenn der Server eine Abfrage ausgeführt wird , verwendet es verfügbaren Daten zu optimieren , wie es die Abfrage ausgeführt wird . Gelegentlich wird der Server Vermutungen falsch , was zu einer schlechten Optimierung Plan . Wenn der schlechte Plan in den Cache geladen wird, kann es laufen immer und immer wieder , verlangsamt jede Abfrage deutlich oder Zeitüberschreitung . Anhand der Daten aus der SQL Profiler oder SQL Query Analyzer können Sie langsamen Abfragen lokalisieren und optimieren , so dass sie schneller laufen .
Engpässe im System
-System Leistung kann auch Auswirkungen auf die Leistung von SQL Server und Ursache Timeouts . Um festzustellen, ob Ihr System wird gerade Last Themen , führen Performance Monitor und suchen Sie nach höher als üblich CPU-Auslastung oder mehr als üblich I /O-Anfragen . Wie blockiert Aufzeichnungen , werden übereinstimmende die erhöhte Belastung mit den Daten aus der SQL Profiler helfen Null auf Abfragen , Zusammenstellungen oder andere Verfahren Einnahme großer Mengen an Ressourcen . Wenn die Anpassung der Verfahren nicht möglich ist, müssen Sie die Server- RAM zu verbessern , Rechenleistung oder Festplatten-Performance .