2

Я установил PowerShell 4 вчера, и с тех пор я получаю сообщение об ошибке «Термин« Invoke-Sqlcmd »не распознается как имя командлета, функция».

Это работало очень хорошо в течение нескольких месяцев до PowerShell 4.

У меня SQL 2012 SP1 установлен с CU7. VS 2013 с .NET 4.5.1. Насколько я могу судить, у меня есть все самое последнее, что требуется PowerShell.

Как я могу это исправить?

Invoke-Sqlcmd: термин «Invoke-Sqlcmd» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку. В строке: 1 символ: 1

1 ответ1

1

У меня были похожие проблемы с получением 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»

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .