Есть ли простой способ скопировать пакет SQL Server 2000 DTS и развернуть его на другом сервере? - PullRequest
3 голосов
/ 09 июня 2009

Я пытаюсь скопировать базу данных с одного сервера на другой в другом месте с идентификатором, включая всю схему, данные, пакет DTS и запланированные задания. Я использовал Redgates SQL Packager для упаковки схемы и данных. Но у меня проблемы с упаковкой пакета DTS (который является очень сложным) более простым способом. Пожалуйста, совет!

Ответы [ 5 ]

4 голосов
/ 09 июня 2009

У меня сейчас нет SQL2000, но я помню, что вы можете просто открыть DTS, нажать Файл \ Сохранить как ..., а затем сохранить как файл DTS, и тогда вы сможете загрузить DTS. на другом сервере.

3 голосов
/ 09 июня 2009

SQLDTS содержит ссылку на странице " Администрирование и управление " на передачу пакетов , которые хранятся в базе данных msdb.

Он также имеет ссылки на инструменты DTSBackup 2000 и другие пакеты DTS для передачи пакетов DTS

По сути, если его нет на этом сайте, то не имеет никакого отношения к DTS ...

2 голосов
/ 09 июня 2009

Хотя это и немного хакерски, вы можете создавать сценарии для пакетов 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

Это может вызвать проблемы, если вы редактируете пакет на обоих серверах, поскольку уникальные идентификаторы не обязательно совпадают, и в результате вы получаете два пакета с одинаковым именем. Но если вы редактируете только на одном сервере, это прекрасно работает.

1 голос
/ 09 июня 2009

Насколько мне известно, нелегкий путь. Есть множество обходных способов сделать это. Я лично решил создать пакет DTS для копирования своих пакетов DTS, потому что мне приходилось перемещать их регулярно. Метод сохранения и загрузки файла хорошо работает для одноразовых ситуаций.

Эта ссылка говорит о переносе пакета 2000 DTS на новый сервер, но все методы применяются для копирования пакета DTS на другой сервер 2000.

0 голосов
/ 12 марта 2012

DTS можно легко развернуть с помощью VB Script. Я использовал это лично приблизительно 3-4 года назад. Проверьте это:

http://cyrilbeschi.blogspot.com/2012/03/deploying-dts-packages-in-sql-server.html

Содержит также пример кода.

...