Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Problèmes d'utilisation des extensions SQL Server 2008 R2 PowerShell en dehors de SQLPS

J'ai utilisé ce script sans problème sur des machines x64. Le problème avec l'invocation x86 est que le script recherche des clés de registre qui, sur une instance x64, ne sont accessibles qu'à partir de x64 PowerShell. Pour l'invocation x64, vous pouvez essayer d'enregistrer les snapins car c'est le message d'erreur que vous recevez. Exécuter en tant qu'administrateur...

Modifiez ceci :

cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100 

à ceci :

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    

Une solution encore meilleure consiste à ne pas utiliser add-pssnapin à la place de transformer sqlps en module. J'ai un article de blog ici :http://sev17.com/2010 /07/10/faire-un-module-sqlps

Mise à jour pour SQL Server 2012 - fournit désormais un module sqlps que vous pouvez installer à la place du blog ci-dessus :http://www.microsoft.com/en-us/download/details.aspx?id=35580