You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DBATools命令Test-DBADbCompatibility报Version150枚举转换错误如何解决

报错原因

你当前环境加载的SQL Server管理对象(SMO)最高仅支持到Version140(对应SQL Server 2017的兼容级别),而你连接的SQL Server实例版本为2019(对应主版本号15,自动拼接为Version150枚举值),旧版SMO无法识别该枚举值导致报错。另外从报错日志可看到你当前实际加载的DBATools版本为1.1.40,并非最新版本,大概率是多版本模块共存导致旧版本被优先加载。

解决方案
  • 清理DBATools多版本冲突
    先执行命令查看所有已安装的DBATools版本:

    Get-InstalledModule dbatools -AllVersions
    

    确认存在多版本后执行完全卸载:

    Uninstall-Module dbatools -AllVersions -Force
    

    卸载完成后重新安装最新版本DBATools:

    Install-Module dbatools -Scope CurrentUser -Force
    

    操作完成后重启PowerShell会话,重新执行目标命令验证是否恢复正常。

  • 升级本地SMO组件
    若清理模块后仍存在报错,手动安装最新版SQL Server共享功能包中的SMO组件,新版本SMO会内置Version150(SQL 2019)、Version160(SQL 2022)等更高版本的兼容级别枚举值,适配高版本SQL Server实例。

  • 临时规避方案
    若暂时无法完成组件升级,可手动指定目标兼容级别跳过自动识别逻辑,直接执行:

    Test-DBADbCompatibility -SqlInstance localhost -Database EfficaDB -TargetCompatibilityLevel Version140
    

    即可完成兼容级别比对测试。

内容的提问来源于stack exchange,提问作者Murali Dhar Darshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:45:04