2012-04-16 63 views
0

BCPを使用して100個のレコードをSQL Serverにインポートしようとしています。 51stレコードが不良データのために失敗したとします。 51番目のレコードに失敗した場合、前の50個のレコードをロールバックできません。 BCPインポート中にエラーが発生した場合、インポート操作全体をロールバックする方法。BCPインポートをロールバックする方法

ありがとうございました。

答えて

0

BCPを使用するとロールバックを有効にするSQLログがオフになるため、ロールバックできなくなります。ログ管理のオーバーヘッドなしに大量のデータを移動できることがBCPの主な利点です。あなたの具体的な状況についてはわかりませんが、BCPのインポートを一時的なテーブルに行って、正常に完了したことを確認することがあります。その後、一時テーブルを破棄して、トランザクションを効果的にロールバックしたり、正常な結果を永続ストレージに移動したりすることができます。

+0

私はVBスクリプトを使用してBCPコマンドを実行しています。私は一時テーブルが私をどのように助けているのかよくわかりません。私は、データベースのファイルの内容を格納する必要があります。私はファイルにいくつのレコードが存在するかについては何も知りません。 bcpコマンドで-bオプションを削除すると、それは役に立ちますか? – user1019072

+0

これは、インポートされるデータの量によって異なります。 1つのレコードにどれくらいのデータがありますか?あなたが約100の合理的なサイズのレコードを扱っているだけならば、バッチサイズについて心配する必要があるとは思いません。私は興味があります、あなたはあなたの輸入にどのような誤りがありますか? – JBell6

関連する問題