小编Gau*_*Gau的帖子

无法将“ Invoke-Sqlcmd”识别为cmdlet的名称

我们最近开始使用Sql Server 2012 SP3,并使用powershell脚本构建SQL Server 2012。我们的自动化要求在db上运行多个数据库脚本,并且我发现Invoke-Sqlcmd非常可靠,直到发现此问题为止。当我在最近安装SQL Server的系统上以Powershell调试模式运行带有适当参数集的Invoke-sqlcmd时。我没问题 PowershellCommand:Invoke-Sqlcmd -InputFile $ sStrJBSPExecRolePath -ServerInstance $ sStrSQLName -ErrorAction Stop 但是,当我在重建同一服务器后通过Powershell 自动化脚本执行相同查询时,最终遇到错误 

术语“ Invoke-Sqlcmd”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。

我在网上做了很多建议导入sqlps等的在线研究,因此为了测试,我在脚本中添加了以下内容     

get-pssnapin-注册的导入模块“ sqlps” -DisableNameChecking

即使在脚本中添加了以上内容。我仍然会遇到同样的错误。但是当我手动运行相同的脚本时,它运行得很好。我不明白有什么问题。powershell自动化脚本-该脚本安装.Net Framework 3.5,SQL Server 2012,SQL Server 2012 SP3,然后加载用于更改sql设置(例如SQL的最大内存限制)的smo程序集。

invoke-sqlcmd

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

invoke-sqlcmd ×1