Analysis Services 存储过程实际上是用 C# 编写的 CLR 或 COM 库(通常是 DLL),或者任何其他 CLR 或 COM 语言。 因此,调试存储过程非常类似于在 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 子目录中。