首页 > 解决方案 > 尝试从 Analysis Services 存储过程项目程序集调用脚本时出错

问题描述

我正在尝试构建审计 SQL Server Analysis Services 的报告。我没有重新发明轮子,而是尝试将已经存在的解决方案整合到对我的业务目的更强大的东西中。

我正在拼凑的该解决方案的主要组件之一是使用 Analysis Services 存储过程项目,可以在此链接中找到更多信息:https ://asstoredprocedures.github.io/ASStoredProcedures/

该项目依赖于将程序集安装到所需的 SSAS 实例或特定数据库。

安装此程序集后,按照给定的安装说明,我不断遇到错误,让我知道它无法找到或使用关联的文件。这是错误:

查询 (1, 6) 托管存储过程 DiscoverXmlMetadataFull 的执行失败并出现以下错误:调用的目标已引发异常。无法加载文件或程序集 'Microsoft.AnalysisServices.Xmla, Version=10.0.0.0, Culture =neutral, PublicKeyToken=89845dcd8080cc91' 或其依赖项之一。该系统找不到指定的文件..

根据我的研究,这个问题的正常解决方案是删除或卸载程序集,然后重新安装它。下一个解决方案是尝试安装其他版本的程序集,直到找到可以使用的程序集。另一种解决方案是确保您使用的帐户具有系统管理员访问权限。

好吧,我已经尝试了所有这些,但没有一个可以解决这个问题。

我注意到一件奇怪的事情,我下载了 SQL Server 2014 解决方案,它是版本 12。我看到的是,无论我使用什么版本的程序集 (dll),我仍然最终看到错误说版本是 10。但是如果我使用 JetBrains dotPeak 之类的工具进入 dll,或者如果我直接从 GitHub 下载代码,我可以看到标有版本 10 的参考对象内部实际上是正确的指向版本 12。所以也许这不是一个真正的问题,只是命名/标签的一种不好的做法。

我注意到的另一件事是,当我创建一个新程序集时,我可以立即进入详细信息部分(在调试复选框旁边)并尝试查看程序集中的不同对象。其中一些对象立即被列为不可用、未使用权限、未找到。即使它们都在同一个dll中。这让我相信位于其他文件夹位置的某些依赖对象是真正的问题。但我不知道如何确认或修复它。

任何有关我可以尝试使该组件正常工作的其他建议都将非常有帮助。

标签: sql-serversecurityssassql-server-2014.net-assembly

解决方案


推荐阅读