Condividi tramite


Debug di stored procedure

Le stored procedure di Analysis Services sono in realtà librerie CLR o COM (normalmente DLL) scritte in C# (o in qualsiasi altro linguaggio CLR o COM). Pertanto, il debug di una stored procedure è molto simile al debug di qualsiasi altra applicazione nell'ambiente di debug di Visual Studio. Per eseguire il debug di una stored procedure nell'ambiente di sviluppo di Visual Studio vengono utilizzate le funzioni di debug integrate, che consentono di arrestare l'esecuzione in corrispondenza delle posizioni delle procedure, controllare la memoria e registrare valori, modificare variabili, osservare i messaggi visualizzati e analizzare in dettaglio il funzionamento del codice.

Per eseguire il debug di una stored procedure

  1. Aprire il progetto utilizzato per creare la DLL in Visual Studio.

  2. Impostare punti di interruzione nel metodo o nella funzione corrispondente alla procedura di cui si desidera eseguire il debug.

  3. Utilizzare Visual Studio per creare una build di debug di una DLL di stored procedure.

  4. Distribuire la DLL nel server. Per altre informazioni sulla distribuzione della DLL nel server, vedere Creazione di stored procedure.

  5. La stored procedure di cui si desidera eseguire il debug deve essere chiamata da un'applicazione. Se non si dispone di una query MDX pronta, è possibile usare l'Editor di query MDX in SQL Server Management Studio per creare una query MDX che chiama la stored procedure da testare.

  6. In Visual Studio collegare al processo di Analysis Services (Msmdsrv.exe).

    1. Dal menu Debug scegliere Attatch toProcess.

    2. Nella finestra di dialogo Attatch toProcess selezionare Mostra processi da tutti gli utenti.

    3. Nell'elenco Processi disponibili , nella colonna Processo fare clic su Msmdsrv.exe. Se nel server è in esecuzione più di un'istanza di Analysis Services, è necessario identificare il processo in base all'ID dell'istanza che si vuole usare.

    4. Nella casella di testo Collega alla casella di testo assicurarsi che sia selezionato il tipo di programma appropriato. Per una DLL CLR, fare clic su Seleziona, quindi su Debug di questi tipi di codice, quindi su Gestito, quindi su OK. Per una DLL COM, fare clic su Seleziona, quindi fare clic su Debug di questi tipi di codice, quindi su Nativo, quindi su OK.

    5. Scegliere Connetti.

  7. In Analysis Services richiamare il programma o lo script MDX che chiama la stored procedure. Il debugger interrompe l'esecuzione quando raggiunge una riga contenente un punto di interruzione. È possibile valutare variabili nella finestra Espressione di controllo, visualizzare variabili locali ed eseguire il codice un'istruzione alla volta.

In caso di problemi durante il debug di una libreria, verificare che il file del database di programma (PDB) corrispondente sia stato copiato nel percorso di distribuzione nel server. Se questo file non è stato copiato durante la registrazione o la distribuzione, è necessario copiarlo manualmente nello stesso percorso della DLL. Per il codice nativo (DLL COM), il file PDB si trova nella sottodirectory \debug. Per il codice gestito (DLL CLR), si trova nella sottodirectory \WINDEBUG.

Vedere anche

Gestione di assembly di modelli multidimensionali
Definizione di stored procedure