Debug di stored procedure

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

Le stored procedure di Analysis Services in realtà sono librerie CLR o COM, in genere DLL, scritte in C# o 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 esiste un'applicazione utilizzabile a tale scopo, è possibile utilizzare l'Editor di query MDX in SQL Server Management Studio per creare una query MDX che chiami la stored procedure desiderata.

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

    1. Scegliere Attatch toProcess dal menu Debug.

    2. Nella finestra di dialogo Attatch toProcess selezionare Show processes from all users (Mostra processi di tutti gli utenti).

    3. Nella colonna Processo dell'elenco Processi disponibili fare clic su Msmdsrv.exe. Se le istanze di Analysis Services in esecuzione nel server sono più di una, è necessario identificare il processo specificando l'ID dell'istanza che si desidera utilizzare.

    4. Nella casella di testo Collega a verificare che sia selezionato il tipo di programma appropriato. Per una DLL CLR, fare clic su Seleziona, quindi fare clic su Esegui debug di questi tipi di codice , quindi su Gestito e infine su OK. Per una DLL COM, fare clic su Seleziona, quindi su Esegui debug di questi tipi di codice, infine su Nativo e infine 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