У меня есть рабочий, но относительно подробный SQL-скрипт, который я хочу запускать каждую ночь и сохранять результаты в файле csv. Планировщик заданий SQL Server, мой предпочтительный подход, похоже, не может сохранить результаты запроса в файл. Я также попытался запланировать задачу с помощью планировщика задач Windows и следующую команду: bcp
Планировщик задач Windows для запуска SQL-запроса и сохранения вывода
bcp "MY QUERY HERE" queryout C:\path\to\Desktop\RTFS.txt -c -d servername -U uname -P password
Время соединения вне на bcp
. Я знаю, что SQL Server принимает удаленные подключения, потому что я могу подключиться к нему с сервера Linux в сети и выполнить все, что хочу на Python. К сожалению, хотя мне сказали, что это должно быть решение только для Windows, поэтому я не могу использовать рабочую реализацию Python/Linux.
Есть ли способ сохранить вывод в виде файла из задания SQL Server или выполнить тот же результат с расписанием задач?
Можете ли вы использовать SSIS? –
Я подозреваю, что вы имеете в виду агент SQL Server. Агент ничего не сохраняет в файле, это команда, которую вы выполняете, которая экспортирует данные. Если файла нет, команда не удалась. Вы должны настроить как свое задание, так и вызов 'bcp' для записи любых ошибок. –
BTW вы уверены, что получаете соединение, а не команду tiemout? Тайм-ауты соединений обычно означают, что вы использовали неправильное имя сервера. Служба агента обычно работает на той же машине, что и база данных, поэтому вопросы о сети не могут быть и речи. Проблемы с брандмауэром - вы сразу же получите отказ. Если вы получаете тайм-аут команды, это потому, что работа занимает слишком много времени. –