Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performance der Datenbank überwachen und steigern » Datenbankperformance steigern » Erweiterte Anwendungsprofilerstellung mithilfe der Diagnoseprotokollierung

 

Fehlersuche in der Anwendungslogik

Wenn es Fehler im Anwendungscode oder in gespeicherten Prozeduren, Triggern, Funktionen oder Ereignissen gibt, kann es hilfreich sein, alle Anweisungen zu prüfen, die vom Datenbankserver ausgeführt werden und die mit dem fehlerhaften Code zusammenhängen. Bei Anwendungen, die SQL dynamisch generieren, können Sie den Text prüfen, den der Datenbankserver tatsächlich sieht, um nach Fehlern zu suchen, die von der Anwendung in den SQL-Text eingebaut wurden. Solche Fehler können dazu führen, dass die Ausführung von Abfragen fehlschlägt oder dass andere Ergebnisse geliefert werden als beabsichtigt. Die Anwendung könnte beispielsweise in der Entwicklungsphase gelegentlich einen SQL-Syntaxfehler melden, andererseits ist sie aber möglicherweise nicht in der Lage, den SQL-Text der misslungenen Abfrage zu liefern. Wenn Sie ein Protokoll zum Zeitpunkt der Anwendung ausgeführt haben, können Sie nach Anweisungen suchen, die Syntaxfehler oder andere Fehler verursacht haben, und Sie können den genauen Text sehen, der von der Anwendung generiert wurde.

Für interne Datenbankobjekte wie Prozeduren und Trigger können Sie den Debugger in Sybase Central verwenden. Manchmal kann es jedoch effektiver sein, wenn der Datenbankserver alle Anweisungen protokolliert, die von einer bestimmten Prozedur ausgeführt werden, und wenn Sie dann diese Anweisungen mit dem Tool zur Anwendungsprofilerstellung prüfen. Eine gespeicherte Prozedur könnte beispielsweise unter 1000 Aufrufen einmal ein falsches Ergebnis liefern, aber es ist nicht ersichtlich, unter welchen Bedingungen der Fehler auftritt. Statt die Prozedur 1000 mal mit dem Debugger zu prüfen, könnten Sie die Diagnoseprotokollierung für die Prozedur aktivieren und die Anwendung ausführen. Anschließend könnten Sie die Gruppe von Anweisungen prüfen, die vom Datenbankserver ausgeführt wurden, die Gruppe von Anweisungen ermitteln, die zur fehlerhaften Ausführung der Prozedur gehören, und dann entweder ermitteln, warum die Prozedur fehlgeschlagen ist, oder unter welchen Bedingungen sie sich anders als erwartet verhält. Wenn Sie wissen, unter welchen Bedingungen sich die Prozedur anders als erwartet verhält, können Sie einen Breakpoint in die Prozedur einfügen und weitere Nachforschungen mit dem Debugger anstellen. Weitere Hinweise finden Sie unter Prozeduren, Funktionen, Trigger und Ereignisse bei der Fehlersuche.