[SQL Server] テーブルのデータを CSV ファイルとして出力


bcp ユーティリティ を使用すると、コマンドから SQL Server に対してデータの入出力を行うことができる。バッチファイルを作成しておけば、タスクスケジューラを使って簡易的な自動バックアップを行える。
なお、bcp ユーティリティは、コマンドプロンプトからコマンドを叩くことで実行する。

[ 使用例 ]
TESTSVR サーバーに、ユーザー名 usr、パスワード pwd で入り、HOGE_DB にある dbo 所有の HOGEUSR テーブルのデータをカンマ区切りで D ドライブ直下に ファイル名「HOGEUSR.csv」で出力する。出力するファイルは -w で Unicode を指定している。
bcp HOGE_DB.dbo.HOGEUSR out d:\HOGEUSR.csv -S "TESTSVR" -U "usr" -P "pwd" -w -t, -t

CSV ではなく、TSV 出力をする。
bcp HOGE_DB.dbo.HOGEUSR out d:\HOGEUSR.tsv -S "TESTSVR" -U "usr" -P "pwd" -w -t

bcp ユーティリティで SQL コマンドを使用する場合は、以下のような記述となる。

NM 列が "taro" であるレコードを抽出。
bcp "SELECT * FROM HOGE_DB.dbo.HOGEUSR WHERE NM = 'taro' " queryout "d:\HOGE_TARO.csv" -S "TESTSVR" -U "usr" -P "pwd" -w -t,
bcp ユーティリティ -msdn
http://msdn.microsoft.com/ja-jp/library/ms162802.aspx

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する