Freigeben über


Debuggen gespeicherter Prozeduren

Gespeicherte Analysis Services-Prozeduren sind tatsächlich CLR- oder COM-Bibliotheken (normalerweise DLLs), die in C# (oder einer anderen CLR- oder COM-Sprache) geschrieben sind. Daher ähnelt das Debuggen einer gespeicherten Prozedur dem Debuggen einer anderen Anwendung in der Visual Studio-Debugumgebung. Sie debuggen gespeicherte Prozeduren in der Visual Studio-Entwicklungsumgebung mithilfe der integrierten Debugfunktionen. Auf diese Weise können Sie an Prozedurspeicherorten beenden, Arbeitsspeicher prüfen und Werte registrieren, Variablen ändern, Nachrichtendatenverkehr beobachten und sich genau ansehen, wie Ihr Code funktioniert.

So debuggen Sie eine gespeicherte Prozedur

  1. Öffnen Sie das Projekt, das zum Erstellen der DLL in Visual Studio verwendet wird.

  2. Erstellen Sie Haltepunkte in der Methode oder Funktion, die der Prozedur entspricht, die Sie debuggen möchten.

  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 Creating Stored Procedures.

  5. Sie benötigen eine Anwendung, die die gespeicherte Prozedur aufruft, die Sie testen möchten. Wenn Sie noch nicht bereit sind, können Sie den 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 Analysis Services-Prozess an (Msmdsrv.exe).

    1. Wählen Sie im Menü " Debuggen " die Option "Attatch toProcess" 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 mehrere Instanzen von Analysis Services auf dem Server ausgeführt werden, müssen Sie den Prozess anhand der ID der Instanz identifizieren, die 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", und klicken Sie dann auf " Diese Codetypen debuggen", und klicken Sie dann auf "Verwaltet", und klicken Sie dann auf "OK". Klicken Sie für eine COM-DLL auf "Auswählen", und klicken Sie dann auf " Debuggen dieser Codetypen", und klicken Sie dann auf " Native", und klicken Sie dann auf "OK".

    5. Klicken Sie auf und fügen Siean.

  7. Rufen Sie in Analysis Services das Programm oder DAS MDX-Skript auf, das die gespeicherte Prozedur aufruft. Der Debugger wird unterbrochen, wenn er eine Zeile erreicht, die einen Haltepunkt enthält. Sie können Variablen im Überwachungsfenster auswerten, Lokale anzeigen und den Code schrittweise durchlaufen.

Wenn Sie Probleme beim Debuggen einer Bibliothek haben, stellen Sie sicher, dass die entsprechende Programmdatenbankdatei (PDB) an den Bereitstellungsspeicherort auf dem Server kopiert wurde. Wenn diese Datei während der Registrierung oder Bereitstellung nicht kopiert wurde, müssen Sie sie manuell an denselben Speicherort wie die DLL kopieren. Bei systemeigenem Code (COM DLL) befindet sich die PDB-Datei im Unterverzeichnis \debug. Für verwalteten Code (CLR DLL) befindet es sich im Unterverzeichnis \WINDEBUG.

Siehe auch

Verwaltung von mehrdimensionalen Modellassemblys
Definieren gespeicherter Prozeduren