¿Hay alguna forma de copiar planes de mantenimiento de un SQL Server 2012 a otro? No se puede acceder a ambos servidores a través de la misma copia de Management Studio al mismo tiempo (en diferentes redes).
¿Hay alguna forma de copiar planes de mantenimiento de un SQL Server 2012 a otro? No se puede acceder a ambos servidores a través de la misma copia de Management Studio al mismo tiempo (en diferentes redes).
Respuestas:
Vaya al servidor donde existen los trabajos, en el Explorador de objetos de Management Studio vaya a Administración> Agente SQL Server y resalte la carpeta Trabajos. Presiona F7(o Ver> Detalles del Explorador de objetos). Debería ver varios trabajos en el panel derecho. Resalte los que desea copiar, haga clic con el botón derecho en Script Job As> Create To> Clipboard. Ahora conéctese al otro servidor, abra una nueva ventana de consulta, pegue y presione F5. Mucho más fácil que mucking con SSIS.
Es posible que tenga que tomar medidas adicionales, según lo que hagan los planes. Conéctese a la instancia de Integration Services, en lugar de la instancia de la base de datos, expanda Paquetes almacenados> MSDB> Planes de mantenimiento, haga clic con el botón derecho en cualquier plan y elija Exportar paquete. En el otro servidor, siga los mismos pasos, pero haga clic con el botón derecho en Planes de mantenimiento y elija Importar paquete. Deberá hacer esto para cada plan.
Encontré una forma más pirata.
Cada plan de ejecución es un registro en la msdb.sysssispackages
tabla.
Puede copiar registros de la msdb.sysssispackages
tabla del servidor de origen a la msdb.sysssispackages
tabla del servidor de destino.
Simplemente cree un servidor vinculado en el servidor de origen y use este Insertar desde el servidor de origen:
INSERT INTO
YOUR-DEST-SERVER-NAME.msdb.dbo.sysssispackages
SELECT
name,
id,
description,
createdate,
folderid,
ownersid,
cast(
cast(
replace(
cast(
CAST(packagedata AS VARBINARY(MAX)) AS varchar(max)
),
'YOUR-SOURCE-SERVER-NAME', 'YOUR-DEST-SERVER-NAME')
as XML)
as VARBINARY(MAX)) as packagedata,
packageformat,
packagetype,
vermajor,
verminor,
verbuild,
vercomments,
verid,
isencrypted,
readrolesid,
writerolesid
FROM
msdb.dbo.sysssispackages AS sysssispackages_1
WHERE
(name = 'YourMaintenancePlanName')
INFORMACIÓN: reemplazar el nombre del servidor es crucial para manejar la conexión de destino en el diseñador del plan de mantenimiento.
IMPORTANTE: los registros de copia solo copian la estructura del plan de mantenimiento. Para volver a crear trabajos, cuando termine la copia, DEBE editar cada plan de mantenimiento, restablecer el cronograma y guardarlo.