Freigeben über


Debuggen gespeicherter Prozeduren

Gespeicherte Analysis Services-Prozeduren sind eigentlich CLR- oder COM-Bibliotheken (normalerweise DLLs), die in C# (oder in einer anderen CLR- oder COM-Sprache) geschrieben sind. Das Debuggen einer gespeicherten Prozedur entspricht also im Wesentlichen dem Debuggen jeder anderen Anwendung in der Debugumgebung von Visual Studio. Sie debuggen gespeicherte Prozeduren in der Visual Studio-Entwicklungsumgebung mithilfe integrierter Debugfunktionen. Mit diesen können Sie an Prozedurspeicherorten stoppen, Speicher inspizieren und Werte registrieren, Variablen ändern, den Nachrichtenverkehr beobachten und einen genauen Blick auf das Funktionieren des Codes werfen.

So debuggen Sie eine gespeicherte Prozedur

  1. Öffnen Sie das zum Erstellen der DLL verwendete Projekt in Visual Studio.

  2. Erstellen Sie Haltepunkte in der Methode oder Funktion entsprechend der zu debuggenden Prozedur.

  3. Verwenden Sie Visual Studio, um einen Debugbuild einer DLL für gespeicherte Prozeduren zu erstellen.

  4. Stellen Sie die DLL auf dem Server bereit. Weitere Informationen zum Bereitstellen der DLL auf dem Server finden Sie unter Erstellen von gespeicherten Prozeduren.

  5. Sie benötigen eine Anwendung, um die zu testende gespeicherte Prozedur aufzurufen. Wenn Sie keine solche zur Verfügung haben, können Sie mit dem MDX-Abfrage-Editor in SQL Server Management Studio eine MDX-Abfrage erstellen, um die zu testende gespeicherte Prozedur aufzurufen.

  6. Hängen Sie in Visual Studio den Debugger an den Analysis Services-Prozess (Msmdsrv.exe) an.

    1. Wählen Sie im Menü Debuggen die Option Anhängen an denProzess aus.

    2. Wählen Sie im Dialogfeld Anhängen an denProzess die Option Prozesse aller Benutzer anzeigen aus.

    3. Klicken Sie in der Liste Verfügbare Prozesse in der Spalte Prozess auf Msmdsrv.exe. Werden auf dem Server mehrere Instanzen von Analysis Services ausgeführt, müssen Sie den Prozess mithilfe der ID der Instanz, die Sie verwenden wollen, identifizieren.

    4. Stellen Sie im Textfeld Anhängen an sicher, dass der entsprechende Programmtyp ausgewählt ist. Klicken Sie für eine CLR-DLL auf Auswählen, klicken Sie auf Diese Codetypen debuggen, klicken Sie auf Verwaltet, und klicken Sie dann auf OK. Klicken Sie für eine COM-DLL auf Auswählen, klicken Sie auf Diese Codetypen debuggen, klicken Sie auf Systemeigen, und klicken Sie dann auf OK.

    5. Klicken Sie auf Anfügen.

  7. Rufen Sie in Analysis Services das Programm oder MDX-Skript zum Aufrufen der gespeicherten Prozedur auf. Der Debugger bricht um, wenn er eine Zeile mit einem Haltepunkt erreicht. Sie können Variablen im Überwachungsfenster auswerten, Lokale anzeigen und den Code schrittweise durchlaufen.

Wenn Sie beim Debuggen einer Bibliothek Probleme haben, stellen Sie sicher, dass die entsprechende Programmdatenbankdatei (PDB-Datei) an den Bereitstellungsspeicherort auf dem Server kopiert wurde. Wurde diese Datei bei der Registrierung oder Bereitstellung nicht kopiert, müssen Sie sie manuell an denselben Speicherort wie die DLL kopieren. Bei systemeigenem Code (COM-DLL) ist die PDB-Datei im Unterverzeichnis \Debug gespeichert. Bei verwaltetem Code (CLR-DLL) ist sie im Unterverzeichnis \WINDEBUG gespeichert.