SQL Server 2012 Express Editionで以下のようなBCPコマンドでデータ投入を行っていますが、
エラーが発生しているにも関わらず、残りのデータがコミットされてしまいます。
SQLServer2008R2 Standardでも同様でした。
例えば100件あって、先頭2行は正常データ、次の20行はエラーデータ、残りは正常データの場合に、
先頭の2行がコミットされてしまいます。
◆実行しているコマンド
==================================================
C:\>bcp TEST.dbo.T_TEST in TEST.csv -f TEST.fmt -t, -T -eLog.log
コピーを開始しています...
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Native Client]キャストした文字コードが正しくありません。
2 行コピーされました。
ネットワーク パケット サイズ (バイト): 4096
クロック タイム (ミリ秒) 合計 : 47 平均 : (85.11 行/秒)
==================================================
-bのバッチサイズをファイル行数よりも多い値に設定したり、-mの最大エラー数を0や1にしても同じ挙動でした。
他に何処かに設定箇所があるのでしょうか?