sql >> Base de Datos >  >> RDS >> Sqlserver

Problemas al usar las extensiones de SQL Server 2008 R2 PowerShell fuera de SQLPS

He usado este script sin problemas en máquinas x64. El problema con la invocación x86 es que la secuencia de comandos busca claves de registro que, en una instancia x64, solo son accesibles desde x64 PowerShell. Para la invocación x64, puede intentar registrar los complementos, ya que ese es el mensaje de error que está recibiendo. Ejecutar como administrador...

Cambia esto:

cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100 

a esto:

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    

Una solución aún mejor es no usar add-pssnapin en lugar de convertir sqlps en un módulo. Tengo una publicación de blog aquí:http://sev17.com/2010 /07/10/hacer-un-modulo-sqlps

Actualización para SQL Server 2012:ahora incluye un módulo sqlps que puede instalar en lugar del blog anterior:http://www.microsoft.com/en-us/download/detalles.aspx?id=35580