Ich habe heute ein Ticket für eine beschädigte Anwendung erhalten, die durch eine fehlerhafte gespeicherte Prozedur verursacht wurde.Gespeicherte Broken Stored Procedure
Die gespeicherte Prozedur hatte nun schon ein paar Monate funktioniert, aber heute, als ich es untersucht habe, habe ich ein paar Fehler gefunden.
zuerst gab es eine Abfrage wie diese.
SELECT a.a , B.B , a.b FROM Tabelle1 einem table2 b JOIN ON. a.a = b.a
Die Zeit nach dem "ON" verursachte offensichtlich den Fehler. Es zu beheben war einfach, aber soweit ich weiß, können Sie eine gespeicherte Prozedur nicht speichern, die defekt ist. In der Tat, als ich die gespeicherte Prozedur öffnete, (ohne es zu ändern) und versuchte, die Änderung mit dem Code von dort auszuführen, scheiterte es mit den Fehlermeldungen.
Es gab andere Fehler wie diese durch die gespeicherte Prozedur, die ich behoben, um schließlich die Änderung auszuführen.
Ich verstehe nicht, wie das möglich ist, und möchte wissen, was eine gespeicherte Prozedur ändern und speichern könnte, die beschädigt ist. Von dem, was mir gesagt wurde, gab es überhaupt keine Änderungen am Server, und wie ich schon erwähnt habe, bevor diese gespeicherte Prozedur in den letzten Monaten gearbeitet hat
Es fühlt sich an, als würde ich einen Geist jagen, und jede Information wird sehr geschätzt.
run Wählen Sie Name, create_date, modified_date, * aus sys.procedures und finden Sie heraus, wann die Prozedur in der Datenbank erstellt wurde. Überprüfen Sie, dass es nicht geändert wurde. –