bcpコマンドでテーブルをタブ区切りテキストファイル経由でコピー
CSVファイルへの書き出し・取込の例は多いですが、私はフィールド値にカンマが入っててハマったのでタブ区切りにしました。
上がエクスポート、下がインポートです。
直接SQL Server Management StudioやEnterprise Managerが繋がらないネットワーク的に離れたDBサーバ間でデータをコピーするときにどうぞ。
C:\>bcp YourDB.dbo.YourTable out C:\YourTable.tsv -c -t\t -r\n -SYourDBServer\YourDBInstance -Usa -Ppassword コピーを開始中です... 848 行コピーされました。 ネットワーク パケット サイズ (バイト数): 4096 クロック タイム (ミリ秒): 合計 16 C:\>bcp YourDB.dbo.YourTable in C:\YourTable.tsv -c -t\t -r\n -SYourDBServer\YourDBInstance -Usa -Ppassword コピーを開始中です... SQLState = 22008, NativeError = 0 Error = [Microsoft][ODBC SQL Server Driver]日付の形式が正しくありません。 847 行コピーされました。 ネットワーク パケット サイズ (バイト数): 4096 クロック タイム (ミリ秒): 合計 62 C:\>
この例ではなぜか1行インポートし損ねてますが、大勢に影響しないので深入りしておりませんw