SQL Serverでは、コマンドプロンプトからSQLを実行するには、OSQLを利用します。
このOSQLで取得した結果をファイルに出力する方法について説明します。

OSQLは、コマンドプロンプト上で動作します。
※コマンドプロンプトは、[スタート]-[プログラム]-[アクセサリ]-[コマンドプロンプト]から実行できます。
最低限必要となるコマンドのオプションは、以下の通りです。
《コマンド構文》
1.SQL Server認証の場合
OSQL -S サーバ名 -Uユーザ名 -Pパスワード -u利用するデータベース名 -Q"SQLステートメント"

2.Windows認証の場合
OSQL -S サーバ名 -E -u利用するデータベース名 -Q"SQLステートメント"

結果をテキストファイルに出力する際に使用する主なオプションは以下の通りです。
 ・「-o」オプション(出力ファイルの指定)
  -o"出力ファイルパス"
 ・「-w」オプション(1行に出力する文字数の指定)
  -w1行の出力幅
 ・「-s」オプション(項目の区切り文字を指定)
  -s項目区切り文字

-sオプションは、CSVファイル形式(カンマ区切り)で出力したい場合等に利用します。

以下、コマンドのサンプルです。

REM "スペースを項目区切り文字で出力"
osql -S TestServer -E -uMaster -Q"SELECT * FROM systypes" -w1000 -o"C:\systypes.txt"
REM "カンマを項目区切り文字で出力"
osql -S TestServer -E -uMaster -s, -Q"SELECT * FROM systypes" -w1000 -o"C:\systypes.txt"

OSQLでは、SELECTだけでなく、INSERT、UPDATE、DELETE、CREATE等のSQLステートメントが利用できます。
出力するファイルには、SQLの実行結果が出力されます。
(ログファイルのように1つのSQLに対する処理件数等も表示されます)

【補足事項】
・搭載されているコマンドは、ISQL→OSQL→SQLCMDと遷移しています。
 1)ISQL  … SQL Server 2000以前で利用可能
 2)OSQL  … SQL Server 7.0(?)以降で利用可能
 3)SQLCMD … SQL Server 2005以降で利用可能