2012-09-20 162 views
2

我無法在powershell中使用invoke-sqlcmd。我已經加載了由Chad Miller編寫的模塊,如下所述:Problems using SQL Server 2008 R2 PowerShell extensions outside of SQLPSPowershell無法識別invoke-sqlcmd

模塊加載得很好,沒有錯誤,並且使用get-module按預期顯示了sqlps。但是,使用get-pssnapin不會顯示SqlServerCmdletSnapin100或SqlServerProviderSnapin100

當我鍵入invoke-sqlcmd時出現錯誤「術語'invoke-sqlcmd'未被識別爲cmdlet,函數,腳本文件的名稱,或可操作的程序...「

運行Windows 7 Pro,具有SQL Server Management Studio Express 2008R2,已安裝SQL Server 2008R2管理對象。

感謝所有幫助 喬恩

+0

當你運行Get-PSSnapin您使用的是 - 註冊開關?否則,它只會顯示已經加載的單元。 –

+0

使用註冊的開關不會返回任何內容。 – Jon

+0

snapin位特定?您是否在64位PowerShell提示符下嘗試此操作?如果是這樣,請嘗試x86提示符。 –

回答

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" 

然後你就可以通過檢查: 得到-PSSnapin - 註冊

現在添加snapins:

Add-PSSnapin SqlServerCmdletSnapin100 
Add-PSSnapin SqlServerProviderSnapin100 

這對我很有用。希望它可以幫助...

對不起,我的英語:)

+1

太棒了!謝謝 – AlexFoxGill