Czy istnieje sposób na skopiowanie planów konserwacji z jednego programu SQL Server 2012 na inny? Oba serwery nie są dostępne za pośrednictwem tej samej kopii Management Studio w tym samym czasie (w różnych sieciach).
Czy istnieje sposób na skopiowanie planów konserwacji z jednego programu SQL Server 2012 na inny? Oba serwery nie są dostępne za pośrednictwem tej samej kopii Management Studio w tym samym czasie (w różnych sieciach).
Odpowiedzi:
Przejdź do serwera, na którym istnieją zadania, w Eksploratorze obiektów Management Studio przejdź do opcji Zarządzanie> Agent programu SQL Server i zaznacz folder Zadania. Naciśnij F7(lub Widok> Szczegóły Eksploratora obiektów). Powinieneś zobaczyć wiele zadań w prawym panelu. Podświetl te, które chcesz skopiować, kliknij prawym przyciskiem myszy, Zadanie skryptu jako> Utwórz do> Schowek. Teraz połącz się z drugim serwerem, otwórz nowe okno zapytania, wklej i naciśnij F5. O wiele łatwiej niż mucking z SSIS.
Może być konieczne podjęcie dodatkowych kroków, w zależności od planów. Połącz się z instancją Integration Services, a nie z instancją bazy danych, rozwiń Zapisane pakiety> MSDB> Plany konserwacji i kliknij prawym przyciskiem myszy dowolny plan i wybierz Eksportuj pakiet. Na drugim serwerze wykonaj te same kroki, ale kliknij prawym przyciskiem myszy Plany konserwacji i wybierz Importuj pakiet. Będziesz musiał to zrobić dla każdego planu.
Znalazłem bardziej hakerski sposób.
Każdy plan wykonania jest jednym rekordem w msdb.sysssispackages
tabeli.
Możesz skopiować rekordy z msdb.sysssispackages
tabeli serwera źródłowego do msdb.sysssispackages
tabeli serwera docelowego.
Po prostu utwórz serwer połączony na serwerze źródłowym i użyj tego Wstaw z serwera źródłowego:
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')
INFORMACJE: Zastąp nazwę serwera ma kluczowe znaczenie dla obsługi połączenia docelowego w projektancie planu konserwacji.
WAŻNE: Kopiowanie zapisów kopiuje tylko strukturę planu konserwacji. Aby odtworzyć zadania, po zakończeniu kopiowania MUSISZ dokonać edycji każdego Planu Mantainence, zresetować harmonogram i zapisać go.