SQL Server 2005 Express Editionでテーブルとデータを移行のメモ
SQL Server 2005 Express Editionで別のSQL Server 2005 Express Editionにテーブルのコピー
1.まず移行元のSQL ServerのGUIを開いてオブジェクトエクスプローラの対象のデータベースの上で右クリックし[タスク]→[スクリプトの生成]をクリック
2.スクリプト生成ウィザードが開く。次へを押してデータベースを選択する。
3.スクリプトオプションを選択する。
4.オブジェクトの種類を選択でテーブルにチェックする。
5.テーブルの選択で対象のテーブルをチェックする。
6.出力オプションで「スクリプトをファイルに保存」を指定してファイル名等をセットして完了を押す。
7.作成されたスクリプトを移行先のSQL Serverで実行しテーブルを作成する。これでテーブルの作成完了。
8.SQL Server 2005 Express EditionではGUIからのデータのエクスポートができないみたいなのでbcpユーティリティを利用しコマンドラインより実行する。
9.移行元のコマンドラインで下記を実行しcsvを作成する。
C:\>bcp データベース名.dbo.テーブル名 out ファイルを保存するパス -c -U ユーザ名 -P パスワード -t "," -T -S サーバ名 ※引数の詳細は'bcp /?'を実行すると見れるのでそっちで確認
10.上記で作成されたデータのファイルを移行先に保存して移行先のコマンドラインで下記を実行しcsvを取り込む。
C:\>bcp データベース名.dbo.テーブル名 in 取り込むファイルのパス -c -U ユーザ名 -P パスワード -t "," -T -S サーバ名
下記例
データのエクスポート C:\>bcp databasename.dbo.tablename out c:\tablename.csv -c -U sa -P ******* -t "," -T -S servername データのインポート C:\>bcp databasename.dbo.tablename in c:\tablename.csv -c -U sa -P ******* -t "," -T -S servername
以下参考
・bcpユーティリティの引数や構文の説明
http://msdn.microsoft.com/ja-jp/library/ms162802.aspx