Invoke-Sqlcmd não funciona após a instalação do PowerShell 4

2

Instalei o PowerShell 4 ontem e, desde então, recebo o erro "O termo 'Invoke-Sqlcmd' não é reconhecido como o nome de um cmdlet, função".

Isso tem funcionado bem por meses até o PowerShell 4.

Eu tenho o SQL 2012 SP1 instalado com CU7. VS 2013 com o .NET 4.5.1. Tanto quanto eu posso dizer, eu tenho tudo o mais recente que o PowerShell requer.

Como posso resolver isso?

Invoke-Sqlcmd : The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

    
por Russ 12.01.2014 / 18:23

1 resposta

1

Eu tive problemas semelhantes ao fazer com que o invoke-sqlcmd funcionasse sem instalar o SQL Server Management Studio. O que eu descobri é que o mínimo (sem SSMS) necessário para executar o invoke-sqlcmd são três arquivos:

Extensões do Microsoft® Windows PowerShell para o SQL Server® 2008 R2

Objetos de gerenciamento compartilhado do Microsoft® SQL Server® 2008 R2

Tipos de CLR do Microsoft® System para o SQL Server® 2008 R2

encontrado aqui: link

Em seguida, abra o Powershell e digite:

set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil

installutil -i "C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSProvider.dll"
installutil -i "C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSSnapins.dll"

Add-PSSnapin -Name SqlServerProviderSnapin100
Add-PSSnapin -Name SqlServerCmdletSnapin100

Se você instalou os arquivos de 64 bits, precisará executar:

set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil

installutil -i "C:\Program Files\Microsoft SQL Server0\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSProvider.dll"
installutil -i "C:\Program Files\Microsoft SQL Server0\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSSnapins.dll"

Add-PSSnapin -Name SqlServerProviderSnapin100
Add-PSSnapin -Name SqlServerCmdletSnapin100

Além disso, verifique se você está usando a versão correta do Powershell, pois a versão de 64 bits do Powershell não pode usar a versão de 32 bits do "Microsoft.SqlServer.Management.PSSnapins.dll" e do "Microsoft.SqlServer.Management". PSProvider.dll "

    
por 20.11.2014 / 02:13