Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Problemas ao usar extensões do SQL Server 2008 R2 PowerShell fora do SQLPS


Eu usei este script sem problemas em máquinas x64. O problema com a invocação x86 é que o script procura por chaves de registro que em uma instância x64 só podem ser acessadas a partir do x64 PowerShell. Para a invocação x64, você pode tentar registrar os snapins, pois essa é a mensagem de erro que você está recebendo. Executar como administrador...

Mude isso:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100 

para isso:
cd $sqlpsPath
$framework=$([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
Set-Alias installutil "$($framework)installutil.exe"
installutil Microsoft.SqlServer.Management.PSSnapins.dll
installutil Microsoft.SqlServer.Management.PSProvider.dll
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100    

Uma solução ainda melhor é não usar add-pssnapin em vez de transformar o sqlps em um módulo. Tenho uma postagem no blog aqui:http://sev17.com/2010 /07/10/making-a-sqlps-module

Atualização para SQL Server 2012 - agora vem um módulo sqlps que você pode instalar em vez do blog acima:http://www.microsoft.com/en-us/download/details.aspx?id=35580