2009-05-05 20 views
4

Ich habe ein Problem beim Debuggen von Stored Procedures in Visual Studio 2008: Wenn ich mit dem Debuggen beginne, erhalte ich diese Erfolgsmeldungen im Ausgabefenster, aber die tatsächlich gespeicherten Prozedurfenster werden nicht angezeigt.Debuggen von MS SQL Stored Procedure

Auto-attach to process '[1640] [SQL] stagsql' on machine 'stagsql' succeeded. 
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0). 
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
Running [dbo].[uspCGetXYZ] (@nLieferantId = 161616, @nStrukturId = -1, @nPageIndex = 1, @nPageSize = 16, @sSortColumn = arLangname, @nSortAscending = 1). 

Visual Studio wird in den Debug-Modus versetzt, aber das Verfahren wird nicht angezeigt.

Die Schritte, die ich tat:

  • Aktiviert SQL-Debugging in den Projekteinstellungen
  • die SQL-Verbindung im Server-Explorer Eröffnet
  • Aktiviert CLR/SQL debuggin auf der Verbindung
  • Rechtsklick auf die Prozedur und wählte "Schritt in gespeicherte Prozedur"

Alternativ habe ich versucht, den Vorgang zu öffnen ure und legte dort einen Haltepunkt, es half nicht.

Irgendwelche Ideen? Wie gesagt, die Verbindung ist vorhanden, Visual Studio kann den Prozedurcode jedoch nicht öffnen.

+0

Nur um zu überprüfen, ist dies eine CLR gespeicherte Prozedur? – cjk

+0

Nein, es ist T-SQL – driAn

+0

Wurde das für Sie gelöst? – Wayne

Antwort

0

Ist die Lösung eine Datenbanklösung? Bist du gegangen Neu-> Lösung-> Sonstiges-> Datenbank?

Sobald Sie eine Datenbanklösung erstellen und dann Ihre Verbindungseinstellungen vornehmen, können Sie den Server-Explorer verwenden, um die gespeicherte Prozedur zu bearbeiten und schrittweise zu starten. Bitte vergewissern Sie sich, dass das Problem weiterhin besteht.

Verwenden Sie eine Express-Ausgabe?

+0

Nein, ich verwende eine "normale" Lösung, die alle Arten von Projekten enthält. Kann ich das beheben, ohne meine aktuelle Lösung zu löschen? Ich benutze die professionelle Version. – driAn

+0

Ok, versuche eine neue Lösung hinzuzufügen: Datei-> Hinzufügen-> Neues Projekt und wähle dann Andere Projekttypen-> Datenbank. Das sollte Ihnen das DB-Projekt in Ihrer aktuellen Lösung geben. Hoffe, das hilft – Wayne

+0

Versuchte dies bereits, hat nicht geholfen :( – driAn

-1

Ich glaube nicht, dass Sie Breakpoints einfügen können wie in einer normalen VS-Anwendung.

Sie können jedoch eine temporäre Tabelle für die Protokollierung erstellen und in jeder Zeile einen neuen Eintrag in diese temporäre Tabelle hinzufügen.

+1

können Sie debuggen genau wie Sie VS-Anwendung. Variablen und (fast) alles andere –

0

Können Sie den Code hinter dieser gespeicherten Prozedur sehen? Wenn es "WITH ENCRYPTION" gespeichert wird, können Sie den Code möglicherweise nicht sehen, und Sie werden den ursprünglichen Quellcode für das Proc benötigen, um es zu debuggen.

1

Haben Sie zufällig "tatsächlichen Durchführungsplan anzeigen" ausgewählt? Ich habe festgestellt, dass das Debuggen nicht ausgeführt wird, wenn Sie auf diese Schaltfläche geklickt haben, obwohl ich für das Leben von mir nicht herausfinden kann, warum das der Fall sein würde.

Ich habe keinen Fehler bei Connect, aber würde gerne eine upvote eine, wenn jemand darüber informiert ist.

+0

Ja, Sie haben Recht, es nicht. Ich werde es als Fehler protokollieren und übergeben auf der URL – Ash