Powershell无法识别invoke-sqlcmd

时间:2012-09-20 21:32:57

标签: sql-server-2008 powershell

我无法在powershell中使用invoke-sqlcmd。我加载了Chad Miller编写的模块,如下所述:Problems using SQL Server 2008 R2 PowerShell extensions outside of SQLPS

模块加载完好没有错误,并使用get-module按预期显示sqlps。但是,使用get-pssnapin不会显示SqlServerCmdletSnapin100或SqlServerProviderSnapin100

当我输入invoke-sqlcmd时,我收到错误“术语'invoke-sqlcmd'未被识别为cmdlet,函数,脚本文件或可操作程序的名称......”

运行Windows 7 Pro,安装了SQL Server Management Studio Express 2008R2,安装了SQL Server 2008R2管理对象。

感谢您的帮助 乔恩

2 个答案:

答案 0 :(得分:4)

我有类似的问题:) 这就是我做的: 从sql文件注册dll:

set-alias installutil $env:windir\microsoft.net\framework\v2.0.50727\installutil
installutil -i "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSProvider.dll"
installutil -i "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSSnapins.dll" 

然后你可以检查: get-PSSnapin -registered

现在添加snapins:

Add-PSSnapin SqlServerCmdletSnapin100   
Add-PSSnapin SqlServerProviderSnapin100

这对我有用。希望它有所帮助...

对不起我的英文:)

答案 1 :(得分:0)

就我而言,此问题已解决,安装Microsoft®WindowsPowerShell ExtensionsforMicrosoft®SQLServer®2012和Microsoft®SQLServer®2012共享管理对象都包含在Microsoft®SQLServer®FeaturePack中

下载链接:https://www.microsoft.com/en-us/download/confirmation.aspx?id=29065