Existe uma maneira de copiar planos de manutenção de um SQL Server 2012 para outro? Ambos os servidores não estão acessíveis através da mesma cópia do Management Studio ao mesmo tempo (em redes diferentes).
Existe uma maneira de copiar planos de manutenção de um SQL Server 2012 para outro? Ambos os servidores não estão acessíveis através da mesma cópia do Management Studio ao mesmo tempo (em redes diferentes).
Respostas:
Vá para o servidor em que os trabalhos existem, no Pesquisador de Objetos do Management Studio, vá para Gerenciamento> SQL Server Agent e realce a pasta Trabalhos. BaterF7 (ou Exibir> Detalhes do Pesquisador de Objetos). Você deve ver vários trabalhos no painel direito. Destaque os que você deseja copiar, clique com o botão direito do mouse em Trabalho de Script Como> Criar Para> Área de Transferência. Agora conecte-se ao outro servidor, abra uma nova janela de consulta, cole e pressione F5. Muito mais fácil do que brincar com o SSIS.
Pode ser necessário tomar medidas adicionais, dependendo do que os planos fazem. Conecte-se à instância do Integration Services, em vez da instância do banco de dados, expanda Pacotes Armazenados> MSDB> Planos de Manutenção e clique com o botão direito do mouse em qualquer plano e escolha Exportar Pacote. No outro servidor, siga as mesmas etapas, mas clique com o botão direito do mouse em Planos de manutenção e escolha Importar pacote. Você precisará fazer isso para cada plano.
Eu encontrei uma maneira mais hacking.
Todo plano de execução é um registro na msdb.sysssispackages
tabela.
Você pode copiar registros da msdb.sysssispackages
tabela do servidor de origem para a msdb.sysssispackages
tabela do servidor de destino.
Basta criar um servidor vinculado no servidor de origem e usar esta inserção no servidor de origem:
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: substituir o nome do servidor é crucial para manipular a conexão de destino no designer do plano de manutenção.
IMPORTANTE: Copiar registros apenas copia a estrutura do plano de manutenção. Para recriar trabalhos, quando você terminar a cópia, DEVE editar todos os Planos de Manutenção, redefinir a programação e salvá-la.