Debuggen gespeicherter Prozeduren in SQL Server Management Studio
Gibt es eine Möglichkeit, den Schritt in die code gespeicherte Prozedur in SQL Server Management Studio? Ich weiß, dies ist möglich mit Visual Studio, aber ich bin auf der Suche nach einem zuverlässigen debugging-Lösung von Management Studio
- Nicht, dass ich bewusst in SSMS 2005 - du bist Links mit PRINT-Anweisungen & bedingte Logik/flow-control
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur mit SQL 2008 und SSMS 2008. Wählen Sie aus dem Menü 'Debug\" Debugging Starten " oder drücken Sie Alt+F5, und starten Sie die step by step T-SQL-debugger.
Jahr 2005 der einzige Weg ist zu befestigen Profiler und monitor für die SP:StmtCompleted Ereignis, das nicht genau debugger step-by-step, aber zumindest sehen Sie die Ausführung fließen. Nicht zu tun auf einer Produktions-Maschine, offensichtlich.
sysadmin
ist im Ort genau, so dass Sie nicht Debuggen in der Produktion (sprich: sperren halten, während Sie auf Schritt)Debug > Start Debugging
es scheint, alle meine SQL-code auf einmal und trifft nicht meine Haltepunkte. (Habe ich kopiert und eingefügt, mein sql in eine neue Abfrage). Was mache ich falsch, kannst du helfen?return -1
Aussagen. Nachdem ich kommentierte diese heraus, ich war in der Lage, die debug-ok 🙂Ich geschrieben habe, einen ziemlich ausführlichen blog-Beitrag dazu hier:
http://www.diaryofaninja.com/blog/2010/11/23/debugging-sql-queries-function-amp-stored-procedures-with-sql-management-studio
Im Grunde das wesentliche ist, dass Sie geben Sie Ihre sql-Abfrage zum ausführen der gespeicherten Prozedur, und statt durch drücken von F5 oder schlagen die Ausrufezeichen, drücken Sie die play-Taste und verwenden Sie F10 und F11, um Schritt über und Schritt in Ihr gespeicherte Prozeduren.
Dies ist sehr praktisch, aber niemand scheint es zu benutzen.
Die Möglichkeit zum Debuggen von sprocs, das war in Query Analyzer in SQL Server 2000 war nicht in SQL Server 2005. Microsoft erkannte diesen Fehler und setzen die Funktionalität zurück in SQL Server 2008.
In SSMS 2008 können Sie den debugger starten, indem Sie entweder auf die Schaltfläche "Debuggen" auf der Symbolleiste oder drücken Sie ALT+F5.
Leider läuft SSMS 2008 gegen eine 2005-Datenbank wird Ihnen nicht erlauben, zu Debuggen, so
Sie haben zu stick mit Visual Studio.
Watch out für das Debuggen gespeicherter Prozeduren mit Visual Studio. Die Art und Weise, dass das umgesetzt wird, ist die Verwendung eine unglaubliche Menge von sperren, so dass Sie nie tun sollten, diese auf einem Produktivsystem.
Ja, in SSMS 2008 kann man auf jeden Fall den Schritt in T-SQL-code (code-block gespeichert func, gespeicherte Prozedur) und zu Debuggen.
Sehen diesem ausgezeichneten Artikel Management Studio-Verbesserungen in SQL Server 2008 für details - es befasst sich auch mit debug (gegen Ende des Artikels).
Bitte beachten Sie beim Debuggen von remote-Instanzen mit SSMS, dass Ihre server-und client-firewall zulassen müssen sqlservr.exe und ssms.exe beziehungsweise, zusammen mit den tcp-port 135. Die client-firewall in meinem speziellen Fall lag die Ursache für eine "timeout abgelaufen" beim Versuch zu Debuggen.