вторник, 26 июля 2011 г. - www.msmirnov.ru

Работа со старыми DTS-пакетами MS SQL Server 2000 в MS SQL Server 2008

Недавно мне пришлось столкнуться с необходимостью работы с набором DTS-пакетов, созданных много лет назад в MS SQL Server 2000 и импортированных в SQL Server 2008.

Отказаться от их использования было нельзя - приложение было написано очень давно и задачи перехода на SSIS не стояло.

SQL Server 2008 обеспечивает корректную работу старых DTS-пакетов, но вот Management Studio 2008 не открывает DTS-пакеты для просмотра и редактирования, выдавая следуюшую ошибку:

"SQL Server 2000 DTS Designer components are required to edit DTS packages. Install the special Web download, “SQL Server 2000 DTS Designer Components” to use this feature. "


Microsoft предлагает скачать и установить SQL Server 2000 DTS Designer Components - см. здесь - (для этого надо будет скопировать 6 файлов (SEMSFC.DLL, SQLGUI.DLL, SQLSVC.DLL, SEMSFC.RLL, SQLGUI.RLL, и SQLSVC.RLL) из установки SQL Server 2000 в каталог с SQL Server 2008).

Однако, это  не решит проблему для случая SQL Server 2008 - после копирования файлов Server 2000 DTS Designer будет запускаться из Management Studio 2008, но корректно работать все равно не будет. Этот способ работает только для случая SQL Server 2005.

В SQL Server 2008 будет выдаваться следующая ошибка:

"Error Source : Microsoft Data Transformation Services (DTS) Package
Error Description : The DTS host failed to load or save the package properly.
"


В Microsoft пока не создали решения этой проблемы для SQL Server 2008, но есть один обходной вариант - пусть не очень удобный, но в случае необходимости он работает.

Следует поставить старый добрый SQL Server 2000 - причем не только сам Enterprise manager, а и ядро сервера - без инстанса работать с DTS-пакетами не получиться.
Причем, ставить нужно SQL Server 2000 SP3 или SP4. С SP2 работать не будет.

После этого необходимо сохранить DTS-пакеты из Management Studio 2008 на диск и открыть файлы на редактирование в Enterprise manager. Сам инстанс SQL 2000 при этом не понадобиться - Enterprise manager будет просто работать с файлами. Затем файлы необходимо опять импортировать в SQL Server 2008.

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

Хорошей новостью является то, что DTS-пакетами можно при этом управлять без каких-либо ограничений, так параметры подключений, которые в них указаны, в этом случае подключаются, как правило не к текущему серверу, а к SQL Server 2008, что облегчает работу с ними.
Мой сайт - www.msmirnov.ru