调试存储过程

Analysis Services 存储过程实际上是用 C# 编写的 CLR 或 COM 库(通常是 DLL),或者任何其他 CLR 或 COM 语言。 因此,调试存储过程非常类似于在 Visual Studio 调试环境中调试任何其他应用程序。 使用集成调试函数调试 Visual Studio 开发环境中的存储过程。 通过这些方法,可以在过程位置停止、检查内存和注册值、更改变量、观察消息流量并仔细了解代码的工作原理。

调试存储过程

  1. 打开用于在 Visual Studio 中创建 DLL 的项目。

  2. 在与要调试的过程对应的方法或函数中创建断点。

  3. 使用 Visual Studio 创建存储过程 DLL 的调试生成。

  4. 将 DLL 部署到服务器。 有关将 DLL 部署到服务器的详细信息,请参阅 “创建存储过程”。

  5. 需要调用要测试的存储过程的应用程序。 如果没有准备好,可以使用 SQL Server Management Studio 中的 MDX 查询编辑器创建调用要测试的存储过程的 MDX 查询。

  6. 在 Visual Studio 中,附加到 Analysis Services 进程(Msmdsrv.exe)。

    1. “调试” 菜单中选择 “Attatch toProcess”。

    2. Attatch toProcess 对话框中,选择 “显示所有用户的进程”。

    3. “可用进程 ”列表中,在“ 进程 ”列中,单击 Msmdsrv.exe。 如果服务器上运行了多个 Analysis Services 实例,则需要根据要使用的实例的 ID 来标识进程。

    4. “附加到 ”文本框中,确保选择了适当的程序类型。 对于 CLR DLL,请单击 “选择”,然后单击“ 调试”这些代码类型,然后单击“ 托管”,然后单击“ 确定”。 对于 COM DLL,请单击 “选择”,然后单击“ 调试”这些代码类型,然后单击“ 本机”,然后单击“ 确定”。

    5. 单击 附上

  7. 在 Analysis Services 中,调用调用存储过程的程序或 MDX 脚本。 调试器到达包含断点的行时会中断。 可以在监视窗口中评估变量、查看局部变量并逐步执行代码。

如果在调试库时遇到问题,请确保相应的程序数据库 (PDB) 文件已复制到服务器上的部署位置。 如果在注册或部署期间未复制此文件,则必须将其手动复制到 DLL 所在的同一位置。 对于本机代码(COM DLL),PDB 文件驻留在 \debug 子目录中。 对于托管代码 (CLR DLL),它驻留在 \WINDEBUG 子目录中。

另请参阅

多维模型程序集管理
定义存储过程