По материалам статьи Brian Knight на SWYNK.COM "Piping Queries to a Text File"
Брайен пишет, что часто возникает необходимость сохранить результаты исполнения запроса в текстовом файле. Особенно это удобно, когда время исполнения запроса весьма велико или доступные ресурсы не позволяют запускать запрос в рабочие часы, и Вы решите запустить исполнение запроса ночью, а результаты посмотреть утром. Вы можете создавать задание, содержащее CMDEXEC, которое выполнит необходимые команды и выведет результаты запроса c:\inputquery.txt в отдельный файл.
\mssql7\binn\osql -Usa -Ppassword -ic:\inputquery.txt -oc:\outputdir\output.txt
Если Вы не хотите открыто записывать пароль в ваше задание, можно использовать ключ "E" для организации доверительного подключения.
Также, можно воспользоваться расширенной хранимой процедурой XP_CMDSHELL:
master..xp_cmdshell 'osql -Usa -Pmisty -Q"select * from products" -dNorthwind -oc:\output.txt' '
Параметр "Q" задаёт строку запроса.
В конце запроса Вы можете добавить дополнительный параметр NO_OUTPUT, для блокирования любого вывода клиенту.
master..xp_cmdshell 'osql -Usa -Pmisty -q"select * from products" -dNorthwind -oc:\output.txt', no_output
Есть и другие методы конвейерной пересылки результатов исполнения запроса в текстовый файл (например, используя OLE Automation) но они более трудоёмки, чем этот метод.