使用PowerShell进行自动SQL安装后,invoke-sqlcmd失败

时间:2015-04-10 13:29:15

标签: sql sql-server powershell smo sqlps

我使用Powershell 4来安装SQL 2014.一切顺利,除非在最后我有一个函数,它将使用invoke-sqlcmd从.sql文件运行脚本。我收到以下错误:

  

"术语' invoke-sqlcmd'不被识别为cmdlet,函数,脚本文件的名称......"

如果我尝试导入sqlps模块,我会得到:

  

指定的模块' sqlps'未加载,因为在任何模块目录中找不到有效的模块文件。

但这里是踢球者。如果我打开一个单独的PowerShell终端,IT工作就在那里。 :/并在初始终端继续失败。

我试图理解为什么会这样,所以任何帮助都会受到高度赞赏。我想避免在重启后写一次脚本。

谢谢, 丹

1 个答案:

答案 0 :(得分:2)

现有的Powershell会话并不了解刚刚安装的Sql模块。看一下环境变量$env:PSModulePath。将新shell的变量与现有变量进行比较,您应该看到缺少的路径,如...\Microsoft SQL Server\110\Tools\PowerShell\Modules\

对于解决方法,请修改包含模块目录的路径。像这样,

$env:PSModulePath += ";c:\some\path\to\sql"