トップページ >  SQL Server >  テーブル単位のインポートとエクスポート | SQL Server
初版2012/07/27: 最終更新日2012/07/27
  テーブル単位のインポートとエクスポート | SQL Server
目次
テーブル単位のエクスポート
テーブル単位のインポートと(小数点あり)
テーブル単位のエクスポート
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 オプションはパスワードなので、省略した場合はコマンド入力後、パスワード入力プロンプトが表示されます。