Debuggen gespeicherter Prozeduren

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services gespeicherten Prozeduren sind tatsächlich CLR- oder COM-Bibliotheken (normalerweise DLLs), die in C# (oder 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 Breakpoints 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 gespeicherter Prozeduren.

  5. Sie benötigen eine Anwendung, um die zu testende gespeicherte Prozedur aufzurufen. Wenn Sie noch keines haben, können Sie die MDX-Abfrage-Editor in SQL Server Management Studio verwenden, um eine MDX-Abfrage zu erstellen, die die gespeicherte Prozedur aufruft, die Sie testen möchten.

  6. Fügen Sie in Visual Studio an den SQL Server Analysis Services-Prozess (Msmdsrv.exe) an.

    1. Wählen Sie im Menü Debuggen die Option Attatch inProcess aus.

    2. Wählen Sie im Dialogfeld Attatch toProcess die Option Prozesse von allen Benutzern anzeigen aus.

    3. Klicken Sie in der Liste Verfügbare Prozesse in der Spalte Prozess auf Msmdsrv.exe. Wenn auf dem Server mehrere instance SQL Server Analysis Services ausgeführt werden, müssen Sie den Prozess anhand der ID des instance identifizieren, den Sie verwenden möchten.

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

    5. Klicken Sie auf Anfügenaus.

  7. Rufen Sie in SQL Server Analysis Services das Programm- oder MDX-Skript auf, das die gespeicherte Prozedur aufruft. Der Debugger bricht um, wenn er eine Zeile mit einem Breakpoint 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.

Weitere Informationen

Verwaltung von mehrdimensionalen Modellassemblys
Definieren gespeicherter Prozeduren