У меня были похожие проблемы с получением invoke-sqlcmd без установки SQL Server Management Studio. Я обнаружил, что минимум (без SSMS), необходимый для запуска invoke-sqlcmd, - это три файла:
Расширения Microsoft® Windows PowerShell для SQL Server® 2008 R2
Общие объекты управления Microsoft® SQL Server® 2008 R2
Типы CLR для Microsoft® System для SQL Server® 2008 R2
находится здесь: http://www.microsoft.com/en-us/download/details.aspx?id=16978
Затем откройте Powershell и введите:
set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil
installutil -i "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSProvider.dll"
installutil -i "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSSnapins.dll"
Add-PSSnapin -Name SqlServerProviderSnapin100
Add-PSSnapin -Name SqlServerCmdletSnapin100
Если вы установили 64-битные файлы, вам нужно будет выполнить:
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"
Add-PSSnapin -Name SqlServerProviderSnapin100
Add-PSSnapin -Name SqlServerCmdletSnapin100
Кроме того, убедитесь, что вы используете правильную версию Powershell, поскольку 64-разрядная версия Powershell не может использовать 32-разрядную версию Microsoft.SqlServer.Управление.PSSnapins.dll "и" Microsoft.SqlServer.Управление.PSProvider.dll»