调试存储过程
Analysis Services 存储过程实际上是 CLR 或 COM 库, (通常使用 C# (或任何其他 CLR 或 COM 语言) 编写的 DLL) 。 因此,调试存储过程类似于在 Visual Studio 调试环境中调试任何其他应用程序。 您可以使用集成调试功能在 Visual Studio 开发环境中调试存储过程。 您可以使用这些功能执行下列操作:在过程位置停止、检查内存和注册值、更改变量、观察消息流量以及密切监视代码的运行状况。
调试存储过程
在 Visual Studio 中打开用于创建 DLL 的项目。
使用要调试的过程相应的方法或函数创建断点。
使用 Visual Studio 创建存储过程 DLL 的调试版本。
将 DLL 部署到服务器中。 有关将 DLL 部署到服务器的详细信息,请参阅 创建存储过程。
您需要一个调用要进行测试的存储过程的应用程序。 如果没有准备好,可以使用 SQL Server Management Studio 中的 MDX 查询编辑器创建一个 MDX 查询,该查询调用要测试的存储过程。
在 Visual Studio 中,附加到 Analysis Services 进程 (Msmdsrv.exe) 。
在 “调试 ”菜单中,选择“ Attatch toProcess”。
在 “Attatch toProcess ”对话框中,选择“ 显示所有用户的进程”。
在 “可用进程” 列表的“ 进程 ”列中,单击“ Msmdsrv.exe”。 如果服务器上运行了多个 Analysis Services 实例,则需要通过要使用的实例的 ID 来标识进程。
在 “附加到 ”文本框中,确保选择了适当的程序类型。 对于 CLR DLL,依次单击“ 选择”、“ 调试这些代码类型”、“ 托管”和“ 确定”。 对于 COM DLL,请单击“ 选择”,然后单击“ 调试这些代码类型”,然后单击“ 本机”,然后单击“ 确定”。
单击 “附加” 。
在 Analysis Services 中,调用调用存储过程的程序或 MDX 脚本。 当调试程序到达包含断点的某行时,便会中断。 您可以在监视窗口中计算变量,查看局部变量并逐句检查代码。
如果在调试库时出现问题,则确保已将对应的程序数据库 (PDB) 文件复制到服务器中的部署位置。 如果在注册或部署过程中没有复制该文件,则必须手动将其复制到 DLL 所在的位置。 对于本机代码 (COM DLL),PDB 文件驻留在 \debug 子目录中。 对于托管代码 (CLR DLL),该文件驻留在 \WINDEBUG 子目录中。