【问题标题】:How to target multi SQL Server editions如何定位多个 SQL Server 版本
【发布时间】:2016-12-29 07:07:11
【问题描述】:

我已经构建了一个 Windows 应用程序来备份数据库。

我下载了 SQL Server 2012,我想添加 Microsoft.SqlServer.Smo.dllMicrosoft.SqlServer.SqlWmiManagement.dll DLL 作为对我的项目的引用,以连接 SQL Server 2016 和/或 SQL Server 2014。我需要部署什么才能实现这一点?

当我添加与同一 SQL Server 版本无关的引用时,我收到了错误:

无法加载文件或程序集“Microsoft.SqlServer.WmiEnum, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。

有什么帮助吗?

提前致谢。

【问题讨论】:

    标签: sql-server wmi smo


    【解决方案1】:

    您需要最新版本的 DLL。

    如果您拥有 SQL Server 2012 版本,则可以连接到版本最高为 2012 的任何服务器 - SQL Server 2005、2008、2008 R2、2012。

    如果您也想连接到 SQL Server 2014 和 2016,您必须使用这些 SMO DLL 的 SQL Server 2016 版本

    【讨论】:

    • 我实际上需要添加一个与所有 SQL Server 版本兼容的 DLL,当我使用 SQL Server 2016 DLL 时,我也遇到了上述错误,因为我使用了不兼容的 DLL已下载的 SQL Server 版本(SQL Server 2012)
    • @T.Hajjar:正如我所说 - 如果您想定位 所有 版本 2008、2008R2、2012、2014、2016,那么您需要 2016 DLL。该错误只是说它 缺少 DLL 之一 - 所以您可能没有添加 all 相关的 DLL ....
    • 但是每次我尝试添加一个 DLL 时,它都会要求我提供另一个已经存在于项目工作目录中的 DLL。
    【解决方案2】:

    没错,请记住,您的 SMO 安装的是您机器上安装的 SQL Server 版本,您必须下载最新版本才能与所有以前的版本兼容。

    Download Microsoft SQL Server 2016 Feature Pack

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多