2

我无法在 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 管理对象。

感谢乔恩的任何帮助

4

2 回答 2

3

我有类似的问题:) 这就是我所做的:从 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

现在添加管理单元:

Add-PSSnapin SqlServerCmdletSnapin100   
Add-PSSnapin SqlServerProviderSnapin100

这对我行得通。希望能帮助到你...

对不起我的英语不好:)

于 2014-01-22T13:46:56.763 回答
0

就我而言,安装 Microsoft® SQL Server® 2012 和 Microsoft® SQL Server® 2012 共享管理对象的 Microsoft® Windows PowerShell Extensions 解决了这个问题,它们都包含在 Microsoft® SQL Server® 功能包中

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

于 2016-09-06T22:32:11.187 回答