Отладка хранимых процедур
Применимо к: 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 производится с использованием интегрированных функций отладки. Они позволяют осуществлять остановку процедуры в определенных местах, контролировать значения в памяти и регистрах, изменять переменные, следить за трафиком сообщений и подробно анализировать работу кода.
Отладка хранимой процедуры
Откройте проект, используемый для создания библиотеки DLL, в среде Visual Studio.
Создайте точки прерывания в методе или функции, соответствующей процедуре, которую необходимо отладить.
Используйте среду Visual Studio для создания отладочной сборки библиотеки DLL хранимой процедуры.
Разверните эту библиотеку DLL на сервере. Дополнительные сведения о развертывании библиотеки DLL на сервере см. в разделе Создание хранимых процедур.
Необходимо приложение, вызывающее хранимую процедуру, подлежащую тестированию. Если у вас нет готового запроса, можно использовать Редактор запросов многомерных выражений в SQL Server Management Studio, чтобы создать запрос многомерных выражений, вызывающий хранимую процедуру, которую требуется протестировать.
В Visual Studio подключитесь к процессу SQL Server Analysis Services (Msmdsrv.exe).
В меню Отладка выберите Attatch toProcess.
В диалоговом окне Attatch toProcess выберите Показать процессы всех пользователей.
В списке Доступные процессы в столбце Процесс щелкните Msmdsrv.exe. Если на сервере выполняется несколько экземпляров SQL Server Analysis Services, необходимо определить процесс по идентификатору экземпляра, который вы хотите использовать.
В текстовом поле Присоединить к убедитесь, что выбран соответствующий тип программы. Для библиотеки DLL CLR щелкните Выбрать, затем отладка этих типов кода, Управление и ОК. Для библиотеки DLL COM нажмите кнопку Выбрать, затем отладка этих типов кода, затем — Машинный код, а затем нажмите кнопку ОК.
Нажмите кнопку Присоединить.
В SQL Server Analysis Services вызовите программу или скрипт многомерных выражений, вызывающий хранимую процедуру. Отладчик останавливается, когда достигает строку, содержащую точку прерывания. Можно оценить переменные в окне наблюдения, просмотреть локальные значения и проверить шаги кода.
При возникновении проблем с отладкой библиотеки убедитесь, что соответствующий файл базы данных программ (PDB-файл) скопирован в место развертывания на сервере. Если этот файл не был скопирован во время регистрации или развертывания, то его необходимо скопировать вручную в то же место, где находится библиотека DLL. Для собственного кода (COM DLL) PDB-файл находится в подкаталоге \debug. Для управляемого (CLR DLL) — он находится в подкаталоге \WINDEBUG.
См. также:
Управление сборками многомерной модели
Определение хранимых процедур