Вопрос:

Можно ли загрузить файлы ftp с сервера SQL без xp_cmdshell?

sql-server tsql ftp

925 просмотра

1 ответ

48 Репутация автора

В идеале хотелось бы запустить что-то из запроса SQL или задания агента SQL, чтобы FTP загрузить файл на внешний сайт, но не может использовать xp_cmdshell.

Автор: C-COOP Источник Размещён: 21.03.2017 06:00

Ответы (1)


1 плюс

46 Репутация автора

Да. Вы должны разделить свою работу на две отдельные задачи:

  1. Как запустить исполняемый файл или пакетную программу из SQL Server, не прибегая к xp_cmdshell.
    Пример того, как это сделать, можно найти по
    адресу : https://www.mssqltips.com/sqlservertip/2014/replace-xpcmdshell-command-line-use-with-sql-server-agent/ .
    Вы должны изменить этот пример в соответствии с вашими потребностями. Предлагаемая хранимая процедура будет:
    • команда run, переданная в качестве параметра в созданном задании SQL «на лету» (указать подсистему CmdExec)
    • дождаться завершения задания SQL (запрос msdb.dbo.sysjobactivity) или завершить задание, если достигнуто заранее заданное значение времени ожидания
    • вернуть результаты выполнения задания (запрос msdb.dbo.sysjobhistory)
    • удалить работу

Примечание. Требуется полная версия SQL Server. Если вы используете экспресс-версию, вам придется вручную определить задачу Windows по расписанию.

  1. Как отправить файл через ftp с помощью пакетной программы.
    Пожалуйста, смотрите:
    Как ftp с командным файлом?
Автор: ZJA Размещён: 21.03.2017 07:37
Вопросы из категории :
32x32