Copiar paquetes SSIS SQL Server 2008 R2 de un server a otro mediante PowerShell


En un post anterior, mostraba la forma de mover paquetes de Integration Services desde un equipo a otro con SQL Server 2005.
A partir de SQL Server 2008, la cosa se complico, ya que los archivos no se alojaban mas dentro de las tablas de la base MSDB, sino que eran objetos embebidos en la propia instancia.

Para poder expotar todos los archivos de un equipo a otro, sin tener la necesidad de hacerlo uno por uno, debemos armarnos un archivo en PowerShell con la siguiente sintaxis.

1
2
import-module SSIS
new-isitem '\msdb' 'SQLPSX' $env:computername
copy-isitemsqltosql -path '\' -topLevelFolder 'msdb' -serverName 'SERVER_ORIGEN' -destination 'msdb' -destinationServer 'SERVER_DESTINO' -force -connectionInfo @{SSISCONFIG=".\SQLEXPRESS"}

Previamente a esto, debemos tener instalado el CodePlex, que son unas funciones complementarias al PowerShell de descarga gratuita.
Este metodo de copia, permite forzar (-force) la sobre escritura de un archivo ya existente.

Si disponemos de múltiples instancias, debemos saber cual esta por defecto, esto lo hacemos visualizando el archivo de configuración del SSIS, tal como menciono en este otro post:

Definir Instancia por defecto en SSIS SQL Server 2008 R2

Deja un comentario