Share via


Depurar procedimientos almacenados

Los procedimientos almacenados de Analysis Services son bibliotecas CLR o COM (generalmente DLL) escritas en C# (u otro lenguaje de bibliotecas CLR o COM). Por consiguiente, la depuración de un procedimiento almacenado es muy similar a la depuración de cualquier otra aplicación del entorno de depuración de Visual Studio. Los procedimientos almacenados del entorno de desarrollo de Visual Studio pueden depurarse con las funciones de depuración integradas. Con ellas podrá detenerse en ubicaciones de procedimientos, inspeccionar los valores de memoria y registro, cambiar variables, observar el tráfico de mensajes y examinar cómo funciona el código.

Para depurar un procedimiento almacenado

  1. Abra el proyecto utilizado para crear la DLL en Visual Studio.

  2. Cree puntos de interrupción en el método o función correspondiente al procedimiento que desee depurar.

  3. Utilice Visual Studio para crear una compilación de depuración de una DLL del procedimiento almacenado.

  4. Implemente la DLL en el servidor. Para obtener más información sobre cómo implementar la DLL en el servidor, vea Crear procedimientos almacenados.

  5. Se necesita una aplicación que llame al procedimiento almacenado que desee probar. Si no dispone de una, puede utilizar el Editor de consultas MDX de SQL Server Management Studio para crear una consulta MDX que llame al procedimiento almacenado que desee probar.

  6. En Visual Studio, asocie al proceso de Analysis Services (Msmdsrv.exe).

    1. En el menú Depurar, elija Asociar alproceso.

    2. En el cuadro de diálogo Asociar alproceso, seleccione Mostrar procesos de todos los usuarios.

    3. En la lista Procesos disponibles de la columna Procesos, haga clic en Msmdsrv.exe. Si se ejecutase más de una instancia de Analysis Services en el servidor, necesita identificar el proceso mediante el Id. de la instancia que desee utilizar.

    4. En el cuadro de texto Asociar a, compruebe que selecciona el tipo de programa adecuado. Para una DLL de CLR, haga clic en Seleccionar, Depurar estos tipos de código, Administrado y, finalmente, en Aceptar. Para una DLL de COM, haga clic en Seleccionar, a continuación en Depurar estos tipos de código, después en Nativo y finalmente en Aceptar.

    5. Haga clic en Asociar.

  7. En Analysis Services, invoque el programa o el script MDX que llama al procedimiento almacenado. El depurador se interrumpirá al alcanzar una línea que contiene un punto de interrupción. Podrá evaluar variables en la ventana de inspección, ver variables locales y reproducir el código.

Si experimenta problemas al depurar una biblioteca, compruebe que el archivo de la base de datos del programa (PDB) correspondiente se ha copiado en la ubicación de implementación del servidor. Si no se ha copiado el archivo durante el registro o la implementación, es necesario copiarlo manualmente en la misma ubicación que la DLL. En el código nativo (DLL de COM), el archivo PDB reside en el subdirectorio \debug. En el código administrado (DLL de CLR), reside en el subdirectorio \WINDEBUG.