Как удалить пакет служб SSIS, сохраненный на сервере SQL? - PullRequest
8 голосов
/ 19 января 2009

У меня есть пакет служб SSIS, сохраненный в разделе «Планы обслуживания» на SQL Server 2005. Хотя я могу выбирать пакеты служб SSIS, я не уверен, как их удалить.

Ответы [ 4 ]

8 голосов
/ 19 января 2009

Похоже, вы пытаетесь удалить пакет из Database Engine -> Управление -> Планы обслуживания. Попробуйте подключиться к «Службам интеграции» вместо ядра СУБД и найдите пакет, который вы хотите удалить, в разделе «Запущенные пакеты» или «Сохраненные пакеты».

Оттуда вы сможете щелкнуть правой кнопкой мыши и удалить.

5 голосов
/ 30 марта 2011

Если вы ищете сценарий для удаления пакетов из SQL Server, вы можете сделать следующее:

Следующий код удалит пакет, развернутый как «\ Maintenance Plan \ DatabaseBackup-Full-All» с сервера с именем «MYSQLSERVER01»

DTUTIL /SQL "\Maintenance Plans\DatabaseBackup-Full-All" /DELETE /SourceServer MYSQLSERVER01 >> rollback.log

Следующий код развернет пакет, расположенный в текущем каталоге в файловой системе с именем «DatabaseBackup-Full-All.dtsx», на сервер с именем «MYSQLSERVER01», как «\ планы обслуживания \ DatabaseBackup-Full-All»

DTUTIL /FILE "DatabaseBackup-Full-All.dtsx" /COPY SQL;"\Maintenance Plans\DatabaseBackup-Full-All" /QUIET /DestServer MYSQLSERVER01 >> release.log

Эти примеры кода запускаются из командной строки. Я также включил >> release.log и >> rollback.log, чтобы вы могли сохранить журнал выполнения в файл.

Не забудьте зайти в любой каталог, в котором находится файл пакета, чтобы запустить скрипт как есть, или обновить приведенный выше код, чтобы указать полный (локальный или unc) путь к файлу вашего пакета.

4 голосов
/ 13 января 2011

В зависимости от того, какую версию SQL Server вы используете, существует системная таблица, содержащая пакеты. В моей версии 2005 года таблица называется msdb.dbo.sysdtspackages90. Вы также можете искать такие таблицы, как msdb.dbo.sysdtspackages или msdb.dbo.sysssispackages. Чтобы удалить пакет, просто удалите его из этой таблицы.

0 голосов
/ 30 апреля 2015

Решение Джона Дакосты сработало для меня. Я написал следующий запрос для вывода команд удаления и вставил результаты в окно командной оболочки:

SELECT CONCAT('DTUTIL /SQL "\', f.foldername, '\', name, '" /DELETE /SourceServer MyServerName')
FROM msdb.dbo.sysssispackages s
JOIN msdb.dbo.sysssispackagefolders f
    on s.folderid = f.folderid
WHERE ownersid <> 0x01
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...