Поделиться через


Отладка хранимых процедур

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services хранимые процедуры на самом деле представляют собой библиотеки CLR или COM (обычно это библиотеки DLL), написанные на C# (или любом другом языке CLR или COM). Таким образом, отладка хранимой процедуры практически аналогична отладке любого другого приложения в среде отладки Visual Studio. Отладка хранимых процедур в среде разработки Visual Studio производится с использованием интегрированных функций отладки. Они позволяют осуществлять остановку процедуры в определенных местах, контролировать значения в памяти и регистрах, изменять переменные, следить за трафиком сообщений и подробно анализировать работу кода.

Отладка хранимой процедуры

  1. Откройте проект, используемый для создания библиотеки DLL, в среде Visual Studio.

  2. Создайте точки прерывания в методе или функции, соответствующей процедуре, которую необходимо отладить.

  3. Используйте среду Visual Studio для создания отладочной сборки библиотеки DLL хранимой процедуры.

  4. Разверните эту библиотеку DLL на сервере. Дополнительные сведения о развертывании библиотеки DLL на сервере см. в разделе Создание хранимых процедур.

  5. Необходимо приложение, вызывающее хранимую процедуру, подлежащую тестированию. Если у вас нет готового запроса, можно использовать Редактор запросов многомерных выражений в SQL Server Management Studio, чтобы создать запрос многомерных выражений, вызывающий хранимую процедуру, которую требуется протестировать.

  6. В Visual Studio подключитесь к процессу SQL Server Analysis Services (Msmdsrv.exe).

    1. В меню Отладка выберите Attatch toProcess.

    2. В диалоговом окне Attatch toProcess выберите Показать процессы всех пользователей.

    3. В списке Доступные процессы в столбце Процесс щелкните Msmdsrv.exe. Если на сервере выполняется несколько экземпляров SQL Server Analysis Services, необходимо определить процесс по идентификатору экземпляра, который вы хотите использовать.

    4. В текстовом поле Присоединить к убедитесь, что выбран соответствующий тип программы. Для библиотеки DLL CLR щелкните Выбрать, затем отладка этих типов кода, Управление и ОК. Для библиотеки DLL COM нажмите кнопку Выбрать, затем отладка этих типов кода, затем — Машинный код, а затем нажмите кнопку ОК.

    5. Нажмите кнопку Присоединить.

  7. В SQL Server Analysis Services вызовите программу или скрипт многомерных выражений, вызывающий хранимую процедуру. Отладчик останавливается, когда достигает строку, содержащую точку прерывания. Можно оценить переменные в окне наблюдения, просмотреть локальные значения и проверить шаги кода.

При возникновении проблем с отладкой библиотеки убедитесь, что соответствующий файл базы данных программ (PDB-файл) скопирован в место развертывания на сервере. Если этот файл не был скопирован во время регистрации или развертывания, то его необходимо скопировать вручную в то же место, где находится библиотека DLL. Для собственного кода (COM DLL) PDB-файл находится в подкаталоге \debug. Для управляемого (CLR DLL) — он находится в подкаталоге \WINDEBUG.

См. также:

Управление сборками многомерной модели
Определение хранимых процедур