December 2008

You are currently browsing the monthly archive for December 2008.


Вашему вниманию предлагается упрощённый вариант копирования хранящихся на сервере пакетов планов обслуживания.

Суть демонстрации, создать список команд для копирования пакетов. Команды, после анализа кода, нужно скопировать через буфер обмена в окно запроса и выполнить.


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