Esiste un modo per copiare i piani di manutenzione da un SQL Server 2012 a un altro? Entrambi i server non sono accessibili contemporaneamente tramite la stessa copia di Management Studio (su reti diverse).
Esiste un modo per copiare i piani di manutenzione da un SQL Server 2012 a un altro? Entrambi i server non sono accessibili contemporaneamente tramite la stessa copia di Management Studio (su reti diverse).
Risposte:
Passare al server in cui sono presenti i lavori, in Esplora oggetti di Management Studio selezionare Gestione> Agente SQL Server ed evidenziare la cartella Lavori. Premi F7(o Visualizza> Dettagli Esplora oggetti). Dovresti vedere più lavori nel riquadro a destra. Evidenziare quelli che si desidera copiare, fare clic con il tasto destro del mouse, Script Job As> Crea in> Appunti. Ora connettiti all'altro server, apri una nuova finestra di query, incolla e premi F5. Molto più facile che confondere con SSIS.
Potrebbe essere necessario eseguire ulteriori passaggi, a seconda dell'azione dei piani. Connettersi all'istanza di Integration Services, anziché all'istanza del database, espandere Pacchetti memorizzati> MSDB> Piani di manutenzione e fare clic con il pulsante destro del mouse su qualsiasi piano e scegliere Esporta pacchetto. Sull'altro server, seguire gli stessi passaggi, ma fare clic con il pulsante destro del mouse su Piani di manutenzione e selezionare Importa pacchetto. Dovrai farlo per ogni piano.
Ho trovato un modo più hacking.
Ogni piano di esecuzione è un record nella msdb.sysssispackages
tabella.
È possibile copiare i record dalla msdb.sysssispackages
tabella del server di origine alla msdb.sysssispackages
tabella del server di destinazione.
È sufficiente creare un server collegato sul server di origine e utilizzare questo Inserisci dal server di origine:
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')
INFORMAZIONI: Sostituire il nome del server è fondamentale per gestire la connessione di destinazione nel progettista del piano di manutenzione.
IMPORTANTE: la copia dei record copia solo la struttura del piano di manutenzione. Per ricreare i lavori, al termine della copia, DEVI modificare ogni piano di manutenzione, ripristinare la pianificazione e salvarla.