
Я хотел бы узнать, какой процесс выполняет задание SqlServer, но я обнаружил только, что оно вызывает DTSRun с зашифрованной строкой.
После расшифровки строки результатом будет только название задания с именем пользователя и паролем.
Как мне узнать, в чем на самом деле заключается призвание этой работы?
Редактировать: Я нашел кандидата, он может быть в пакетах msdb.sysdts, но, опять же, не могу их прочитать, так как SQLServer говорит, что данные двоичные.
Как я могу их прочитать, чтобы убедиться, что это действительно работа?
решение1
Пакеты DTS хранятся в следующих папках:
- SQL Server (в базе данных msdb в двоичной форме, как вы обнаружили)
- Файловая система
- Репозиторий
Чтобы открыть пакет, хранящийся на локальном сервере SQL, и изучить его функции, можно открыть его одним из следующих способов:
а) SQL Enterprise Manager (SQL 2000) — пакеты должны быть перечислены в узле Data Transformation Services в разделе Local Packages.
b) В SQL 2005/2008, я думаю, вы можете работать с устаревшими пакетами DTS, используя Management Studio или BI Development Studio. Пакеты должны быть перечислены в Management\Legacy\Data Transformation Services. Я видел упоминания о том, что иногда это приводит к ошибкам в 2008, для которых есть исправление от MS.
решение2
DTSRUN используется для запуска пакетов DTS.
Похоже, что задание вызывает пакет DTS для выполнения работы. Имя пакета в командной строке DTSRUN указывается после переключателя команды /~N. Сервер, на котором хранится пакет, указывается после переключателя команды /~S.
Хранятся ли на вашем сервере пакеты DTS? Если да, найдите тот, который имеет то же имя, что и задание.