Хотя это и немного хакерски, вы можете создавать сценарии для пакетов DTS прямо из msdb.dbo.sysdtspackages
и обратно, используя BCP.
У меня нет системы для тестирования прямо сейчас, но команда out выглядит примерно так:
bcp "select top 1 from msdb.dbo.sysdtspackages where name = '~your_package_name~' order by createdate desc" queryout c:\temp\dts.bak -n -S ~source_server_name~ -E
Эта команда получает последнюю версию определения DTS и записывает ее в файл BCP в собственном формате (вам нужно использовать -P ~password~ -U ~username~
вместо -E
, если вы используете аутентификацию SQL).
А затем импортировать на второй сервер:
bcp msdb.dbo.sysdtspackages in c:\temp\dts.bak -S ~target_server~ -E
Это может вызвать проблемы, если вы редактируете пакет на обоих серверах, поскольку уникальные идентификаторы не обязательно совпадают, и в результате вы получаете два пакета с одинаковым именем. Но если вы редактируете только на одном сервере, это прекрасно работает.