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

执行add-sqlsnappin命令报错:SQL Server PowerShell Provider未安装

解决add-sqlsnappin提示"SQL Server Provider for Windows PowerShell is not installed"的问题

你在部署Sitecore Commerce数据库时碰到的这个问题,本质是旧版SQL Server PowerShell Snap-in组件缺失,或者现在更推荐用全新的SqlServer模块来替代它。下面给你几种实用的解决思路:

方法1:安装旧版SQL Server PowerShell Snap-in(兼容旧脚本)

这个Snap-in属于SQL Server管理工具组件,你可以通过SQL Server安装程序补装:

  • 打开SQL Server安装中心,选择「安装」→「全新SQL Server独立安装或向现有安装添加功能」
  • 跟着向导走到「功能选择」步骤,务必勾选「管理工具 - 基本」和「管理工具 - 完整」
  • 安装完成后重启PowerShell会话,再尝试执行命令

方法2:改用新版SqlServer模块(推荐,长期兼容)

微软已经弃用了SQLPS Snap-in,现在官方推荐使用SqlServer模块,操作步骤如下:

  1. 以管理员身份打开PowerShell,先卸载旧的SQLPS模块(如果存在):
    Uninstall-Module -Name SQLPS -Force
    
  2. 从PowerShell Gallery安装最新版SqlServer模块:
    Install-Module -Name SqlServer -Force -AllowClobber
    
  3. 修改部署脚本DeployCommerceDatabase.psm1:找到第215行附近的add-sqlsnappin命令,替换成:
    Import-Module SqlServer
    
    新版模块完全覆盖旧Snap-in的功能,还能避免后续版本兼容问题

方法3:检查并修复SQL Server Management Studio(SSMS)

如果你已经装了SSMS,可能是安装时漏选了PowerShell组件:

  • 卸载当前SSMS,重新下载最新版安装包
  • 安装过程中确保勾选「PowerShell工具」选项,完成后重启PowerShell

验证修复效果

运行以下命令确认组件/模块已正常安装:

  • 检查Snap-in:Get-PSSnapin -Registered | Where-Object {$_.Name -like "*SQL*"}
  • 检查模块:Get-Module -ListAvailable SqlServer

错误详情参考:
At C:\deploy\SIF.Sitecore.Commerce.1.1.4\Modules\DeployCommerceDatabase\DeployCommerceDatabase.psm1:215 char:9

  • throw "SQL Server Provider for Windows PowerShell is not inst ...
  • CategoryInfo : OperationStopped: (SQL Server Prov... not installed.:String) [], RuntimeException
  • FullyQualifiedErrorId : SQL Server Provider for Windows PowerShell is not installed.

内容的提问来源于stack exchange,提问作者nano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:20:47