ページ

2013-11-18

SQL Server データベース間でちょっとだけデータを移行する

ローカルだったらSQL Server Management StudioでGUIでぽちぽちやるだけで簡単なんだけど、SQL Azureだと機能が制限されているようなので、ここではbcpを使う。

テーブルが1テーブルで、大きくなければ、2コマンドだけ。まぁ、expdp/impdpとかpg_dump/pg_restoreとか結局こんなもんだよね。

データ吸い出し
bcp TableName out c:\temp\tablename.dat -S 移行元データベースサーバ -d データベース名 -U ユーザー名 -P パスワード -n -q

データ流し込み
bcp TableName in c:\temp\tablename.dat -S 移行先データベースサーバ -d データベース名 -U ユーザー名 -P パスワード -n -q

bcp.exeは、C:\Program Files\Microsoft SQL Server\110\Tools\Binnとかにある。

さくっとできちゃうので、接続先には強く気をつけること。ちなみに、-U/-Pの代わりに、-T でWindows統合認証。

なお、データがたくさんの場合は、 バッチサイズを指定したり、テーブルロックにするようにしたりと、いくつか気にしたほうがいいポイントがあるので、気をつける。

参考:

0 件のコメント:

コメントを投稿