it-swarm.com.de

Debuggen gespeicherter Prozeduren in SQL Server Management Studio

Gibt es eine Möglichkeit, den Code für gespeicherte Prozeduren in SQL Server Management Studio aufzurufen? Ich weiß, dass dies mit Visual Studio möglich ist, suche jedoch nach einer zuverlässigen Debugging-Lösung in Management Studio

41
Nick

Nur mit SQL 2008 und SSMS 2008. Wählen Sie aus dem Menü 'Debug\Start Debugging' oder drücken Sie Alt + F5 und starten Sie den schrittweisen T-SQL-Debugger.

Im Jahr 2005 besteht die einzige Möglichkeit darin, Profiler und Monitor für das SP: StmtCompleted -Ereignis anzuschließen. Dies ist zwar kein schrittweiser Debugger, aber Sie werden zumindest den Ausführungsfluss sehen. Natürlich nicht auf einer Produktionsmaschine.

26
Remus Rusanu

Ich habe hier einen ziemlich detaillierten Blog-Post darüber geschrieben:

http://www.diaryofaninja.com/blog/2010/11/23/debugging-sql-queries-function-amp-stored-procedures-with-sql-management-studio

Grundsätzlich ist der Kern davon, dass Sie Ihre SQL-Abfrage eingeben, um Ihre gespeicherte Prozedur auszuführen, und anstatt zu drücken F5 Wenn Sie das Ausrufezeichen drücken, drücken Sie die Wiedergabetaste und verwenden F10 und F11 Zum Durchgehen und Betreten Ihrer gespeicherten Prozesse.

Dies ist sehr praktisch, aber niemand scheint es zu benutzen.

23
Doug

Die Möglichkeit zum Debuggen von Sprocs, die in SQL Server 2000 in Query Analyzer enthalten waren, wurde in SQL Server 2005 nicht berücksichtigt. Microsoft hat diesen Fehler erkannt und die Funktionalität in SQL Server 2008 wiederhergestellt.

In SSMS 2008 können Sie den Debugger starten, indem Sie entweder auf die Debug-Schaltfläche in der Symbolleiste klicken oder ALT + F5 drücken.

Wenn Sie SSMS 2008 für eine 2005-Datenbank ausführen, können Sie leider kein Debugging durchführen. Daher müssen Sie sich an Visual Studio halten.

4
Nick Kavadias

Achten Sie auf das Debuggen gespeicherter Prozeduren mit Visual Studio. Die Art und Weise, wie dies implementiert wird, ist die Verwendung einer unglaublichen Menge an Sperren, sodass Sie dies niemals auf einem Produktionssystem tun sollten.

4
Rob Farley

Ja, in SSMS 2008 können Sie definitiv in T-SQL-Code (Codeblock, gespeicherte Funktion, gespeicherte Prozedur) einsteigen und ihn debuggen.

Weitere Informationen finden Sie in diesem hervorragenden Artikel Management Studio-Verbesserungen in SQL Server 2008 - Er befasst sich auch mit dem Debuggen (gegen Ende des Artikels).

3
marc_s

Beachten Sie beim Debuggen von Remote-Instanzen mit SSMS, dass Ihr Server und Ihre Client-Firewall sqlservr.exe und ssms.exe zusammen mit TCP-Port 135 zulassen müssen zu debuggen.

1
Adam Caviness