SQL Serverでテーブル単位でエクスポートする方法があります。
bcpというコマンドを使用します。オプションを簡単に説明します。
| -S | サーバ名(インスタンス名は¥に続けて記述) |
| -U | ユーザ名 |
| -P | パスワード |
| -c | アスキーコード出力(タブ区切りで出力されます) |
bcpコマンドの記述方法は
bcp DB名.スキーマ名.テーブル名 OUT アウトプットファイル名 (オプション)
となります。OUTはエクスポートを意味しています。アウトプットファイル名は例えば、C:¥a.tsvなどです。
ZAIKOというデータベース、スキーマはCON、テーブルはT_SYUKKA、ユーザ名はcon、パスワードはconとします。
これでテーブルのデータを全部タブ区切りで出力したい場合は
bcp ZAIKO.CON.T_SYUKKA OUT c:¥a.tsv -c -S 192.168.1.10¥SQLEXPRESS -U con -P con
SQLEXPRESSの部分は各々変わると思います。IPアドレスがサーバになりますが、hostsなどでサーバ名を指定しても大丈夫です。
もし、サーバがローカルであってもリモート接続、TCPIP、名前付きパイプは有効にしておく必要があります。
インポートもbcpコマンドで行います。書き方はエクスポートとほぼ同じですが、インポートの場合はOUTではなく、INを使用します。
以下は、上記でエクスポートしたファイルを別のデータベースにインポートする例です。
bcp ZAIKO.CON.T_SYUKKA IN c:¥a.tsv -c -S 192.168.1.10¥SQLEXPRESS -U con -P con
-S オプションは省略するとエラーとなりますので必ず指定するようにしてください。また-P オプションはパスワードなので、省略した場合はコマンド入力後、パスワード入力プロンプトが表示されます。