
Вашему вниманию предлагается упрощённый вариант копирования хранящихся на сервере пакетов планов обслуживания.
Суть демонстрации, создать список команд для копирования пакетов. Команды, после анализа кода, нужно скопировать через буфер обмена в окно запроса и выполнить.
USE msdb
SELECT 'EXEC [master].[sys].[xp_cmdshell] ''dtutil /Q /SQL ' +
CASE f.foldername WHEN '' THEN '"' + p.[name] + '"' ELSE '"' + f.foldername + '\' + p.[name] + '"' END
+ ' /ENCRYPT FILE;"c:\temp\' + p.[name] + '.dtsx";0 /SOURCESERVER ' + @@SERVERNAME + ''''
FROM msdb.dbo.sysdtspackages90 p
JOIN msdb.dbo.sysdtspackagefolders90 f
ON p.folderid = f.folderid
WHERE p.folderid <> '00000000-0000-0000-0000-000000000000'
GO
--USE master
--EXEC master.dbo.sp_configure 'show advanced options', 1
--RECONFIGURE
--EXEC master.dbo.sp_configure 'xp_cmdshell', 1
--RECONFIGURE
--GO
-- Тут место для результирующего сценария резервирования Maintenance Plans
--USE master
--EXEC master.dbo.sp_configure 'xp_cmdshell', 0
--RECONFIGURE
--EXEC master.dbo.sp_configure 'show advanced options', 0
--RECONFIGURE
--GO
|