Gibt es eine Möglichkeit, Wartungspläne von einem SQL Server 2012 auf einen anderen zu kopieren? Auf beide Server kann nicht gleichzeitig (in verschiedenen Netzwerken) über dieselbe Kopie von Management Studio zugegriffen werden.
Gibt es eine Möglichkeit, Wartungspläne von einem SQL Server 2012 auf einen anderen zu kopieren? Auf beide Server kann nicht gleichzeitig (in verschiedenen Netzwerken) über dieselbe Kopie von Management Studio zugegriffen werden.
Antworten:
Wechseln Sie zu dem Server, auf dem die Aufträge vorhanden sind, und markieren Sie im Objekt-Explorer von Management Studio unter Verwaltung> SQL Server-Agent den Ordner Aufträge. Drücken Sie F7(oder Ansicht> Objekt-Explorer-Details). Im rechten Bereich sollten mehrere Jobs angezeigt werden. Markieren Sie diejenigen, die Sie kopieren möchten, und klicken Sie mit der rechten Maustaste auf Script Job As> Create To> Clipboard. Stellen Sie nun eine Verbindung zum anderen Server her, öffnen Sie ein neues Abfragefenster, fügen Sie es ein und drücken Sie F5. Viel einfacher als mit SSIS zu mucken.
Abhängig von den geplanten Maßnahmen müssen Sie möglicherweise weitere Schritte ausführen. Stellen Sie anstelle der Datenbankinstanz eine Verbindung zur Integration Services-Instanz her, erweitern Sie Gespeicherte Pakete> MSDB> Wartungspläne, klicken Sie mit der rechten Maustaste auf einen beliebigen Plan und wählen Sie Paket exportieren. Führen Sie auf dem anderen Server dieselben Schritte aus, klicken Sie jedoch mit der rechten Maustaste auf Wartungspläne und wählen Sie Paket importieren. Sie müssen dies für jeden Plan tun.
Ich habe einen hackigeren Weg gefunden.
Jeder Ausführungsplan ist ein Datensatz in der msdb.sysssispackages
Tabelle.
Sie können Datensätze aus der msdb.sysssispackages
Tabelle des Quellservers in die msdb.sysssispackages
Tabelle des Zielservers kopieren .
Erstellen Sie einfach einen Verbindungsserver auf dem Quellserver und verwenden Sie diese Einfügung vom Quellserver:
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')
INFO: Das Ersetzen des Servernamens ist für die Verarbeitung der Zielverbindung im Wartungsplan-Designer von entscheidender Bedeutung.
WICHTIG: Beim Kopieren von Datensätzen wird nur die Struktur des Wartungsplans kopiert. Um Jobs neu zu erstellen, MÜSSEN Sie nach Abschluss der Kopie jeden Mantainence-Plan bearbeiten, den Zeitplan zurücksetzen und speichern.