=====sqlserver のデータExportImportツール===== * http://seiic.blog.so-net.ne.jp/2008-09-02 * http://msdn.microsoft.com/ja-jp/library/ms162802.aspx ====batサンプル==== 出力 pause bsp start set BCPPARA=-S localhost -U sa -P password bcp DBNM.dbo.tblnm out c:\aaa.txt %BCPPARA% -n pause table一覧は select * from sysobjects where type='u' で取得する 入力 bcp DBNM.dbo.tblnm in c:\aaa.txt -S localhost -U sa -P pass -n ====パラメータ==== == -n == データのネイティブ (データベース) データ型を使用して一括コピー操作を実行します。 このオプションを使用すると、フィールドごとにプロンプトが表示されません。 ネイティブ値が使用されます。 詳細については、「ネイティブ形式を使用したデータのインポートまたはエクスポート」を参照してください。 == -N == 文字以外のデータについてはデータベースのネイティブなデータ型を使用し、 文字データについては Unicode 文字を使用して、一括コピー操作を実行します。 -w オプションの代わりにこのオプションを使用すると、高いパフォーマンスが得られます。 このオプションは、データ ファイルを使用して SQL Server のインスタンスから 別のインスタンスにデータを転送する場合に使用します。 フィールドごとにプロンプトは表示されません。 ANSI 拡張文字を含むデータを転送し、ネイティブ モードのパフォーマンスを利用する場合は、 このオプションを使用します。 詳細については、「Unicode ネイティブ形式を使用したデータのインポートまたはエクスポート」を参照してください。 SQL Server 2005 SP1 以降では、データをエクスポートしてから -N を付けて bcp.exe を実行して同じテーブル スキーマにインポートした場合、 固定長で Unicode 以外の文字の列 (char(10) など) があると、 切り捨ての警告が表示されることがあります。 この警告は、無視してもかまいません。この警告を解決するには、-N ではなく -n を使用する方法があります。 == -c == 文字データ型を使用して操作を実行します。このオプションを使用すると、 フィールドごとにプロンプトが表示されません。char をプレフィックスなしの ストレージ型として、また \t (タブ) をフィールド区切り文字、 \r\n (改行文字) を行ターミネータとして使用します。 == -S server == サーバ名を指定 == -U userid == SQL Server への接続に使用されるログイン ID を指定します。 セキュリティに関する注意 セキュリティに関する注意 bcp ユーティリティが、統合セキュリティを使用した信頼関係接続で SQL Server に接続している場合、user name および password の組み合わせではなく、 -T オプション (信頼関係接続) を使用します。 == -P password == ログイン ID のパスワードを指定します。このオプションを指定しない場合、 bcp コマンドによってパスワードが要求されます。 また、このオプションをコマンド プロンプトの最後にパスワードなしで使用すると、 bcp では既定のパスワード (NULL) が使用されます。 パスワードをマスクする場合は、-P オプションを -U オプションと共には指定しないでください。 bcp を -U オプションおよび他のスイッチと共に指定した後 (-P は指定しない)、 Enter キーを押すと、このコマンドによってパスワードが要求されます。 この方法を使用すると、入力時にパスワードが確実にマスクされます。 password がハイフン (-) またはスラッシュ (/) で始まる場合は、-P と password の間に空白を入れないでください。 == -d database == == -T == bcp ユーティリティが統合セキュリティを使用した信頼関係接続を使用して SQL Server に接続することを指定します。 ネットワーク ユーザーのセキュリティ資格情報、login_id、および password は必要ありません。 -T を指定しない場合、正常にログインするには -U や -P を指定する必要があります。 =====SQL Server 2005 の DB を 2000 にエクスポートする方法 ===== rem エクスポート (SQL Server 2005 から) bcp [データベース名].dbo.[テーブル名] out [出力先ファイル名] -n -T rem 前もって SQL Server 2005 と同じスキーマを持ったデータベースを rem SQL Server 2000 の方へ作成しておきます。 rem インポート (SQL Server 2000 へ) bcp [データベース名].dbo.[テーブル名] in [入力元ファイル名] -n -T =====手軽にSQL Serverのデータベースをコピーするには?===== * http://www.atmarkit.co.jp/fdotnet/dotnettips/859dbcopytool/dbcopytool.html * http://dbcopytool.codeplex.com/