Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Problemi con le estensioni PowerShell di SQL Server 2008 R2 al di fuori di SQLPS

Ho usato questo script senza problemi su macchine x64. Il problema con la chiamata x86 è che lo script cerca le chiavi di registro che su un'istanza x64 sono accessibili solo da PowerShell x64. Per l'invocazione x64 potresti provare a registrare gli snapin poiché questo è il messaggio di errore che stai ricevendo. Esegui come amministratore...

Cambia questo:

cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100 

a questo:

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 soluzione ancora migliore è non usare add-pssnapin invece di trasformare sqlps in un modulo. Ho un post sul blog qui:http://sev17.com/2010 /07/10/creare-un-modulo-sqlps

Aggiornamento per SQL Server 2012:ora viene fornito un modulo sqlps che puoi installare al posto del blog precedente:http://www.microsoft.com/en-us/download/details.aspx?id=35580