query wait (Option)

Geben Sie mithilfe der Option query wait die Zeit in Sekunden (von 0 bis 2147483647) an, die eine Abfrage vor dem Timeout auf Ressourcen warten soll. Wenn der Standardwert –1 verwendet oder wenn –1 angegeben wird, wird das Timeout als das 25fache der geschätzten Abfragekosten berechnet.

In Microsoft SQL Server werden arbeitsspeicherintensive Abfragen, wie z. B. Abfragen mit Sortier- und Hashvorgängen, in Warteschlangen eingereiht, wenn nicht ausreichend Arbeitsspeicher zum Ausführen der Abfrage zur Verfügung steht. Nach einer bestimmten Zeitspanne, die von SQL Server berechnet wird (das 25fache der geschätzten Kosten der Abfrage), oder nach der Zeitspanne, die durch den nicht negativen Wert der Abfragewartezeit angegeben wird, tritt ein Timeout für die Abfrage ein.

Wichtiger HinweisWichtig

Eine Transaktion, die die wartende Abfrage enthält, kann Sperren aufrechterhalten, während die Abfrage auf freien Arbeitsspeicher wartet. In seltenen Situationen kann ein nicht zu erkennender Deadlock auftreten. Das Reduzieren der Abfragewartezeit verringert die Wahrscheinlichkeit solcher Deadlocks. Schließlich wird die wartende Abfrage beendet, und die Transaktionssperren werden aufgehoben. Durch das Erhöhen der maximalen Wartezeit kann jedoch auch der Zeitaufwand bis zum Beenden der Abfrage erhöht werden. Änderungen an dieser Option werden nicht empfohlen.

Bei query wait handelt es sich um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure ändern, können Sie query wait nur ändern, wenn show advanced options auf 1 festgelegt ist. Die Einstellung tritt sofort ohne Neustart des Servers in Kraft.