【发布时间】:2015-08-18 10:51:55
【问题描述】:
我目前在一台装有 SQL Server 2008 的机器上,根据这个问题 (How to execute .sql file using powershell?),我安装了 powershell 管理单元以与 SQL Server 交互。
问题是现在我已经安装好了,我可以像这样从命令行运行 Invoke-Sqlcmd。
Invoke-Sqlcmd -inputfile "myTestFile.sql" -serverinstance '.\sql2008';
但如果我将该行放在 PS1 文件中运行并尝试像这样运行它
powershell ./runSQLscript.ps1
我收到此错误
“Invoke-Sqlcmd”一词未被识别为 cmdlet 的名称, 函数、脚本文件或可运行的程序。检查拼写 名称,或者如果包含路径,请验证路径是否正确并 再试一次。在 D:\TEMP\powershellTests\runSQLscript.ps1:1 char:14 + 调用-Sqlcmd
【问题讨论】:
-
在您的 PS1 文件中,您还需要
Add-PSSnapinSQL 管理单元,以便 PowerShell 知道在使用之前加载此函数。 -
@Bluecakes - 是的,修复了它!请添加为答案。好的,所以 add-snapins 不是全局命令并且与它运行的上下文相关吗?
标签: sql-server powershell sql-server-2008-r2 sqlcmd