2012-04-16 71 views
0

我想使用BCP將100條記錄導入到SQL Server中。假設如果第51條記錄由於錯誤數據而失敗。當第51條記錄失敗時,我無法回滾先前的50條記錄。如何在BCP導入過程中出現錯誤時回滾整個導入操作。如何回滾BCP導入

感謝您的幫助。

回答

0

您將無法回滾,因爲啓用回滾的SQL日誌記錄在使用BCP時處於關閉狀態。能夠在不增加日誌維護開銷的情況下移動大量數據是BCP的主要優勢。我不知道您的具體情況,但您可以考慮首先將BCP導入到臨時表中,以確保它成功完成。然後,您可以在發生故障時刪除臨時表,有效回滾事務,或將成功的結果移至永久存儲。

+0

我正在通過VB腳本執行BCP命令。我不確定臨時桌是如何幫助我的。我需要將文件的內容存儲到數據庫。我不知道文件中有多少記錄。如果我在bcp命令中刪除-b選項,它會有幫助嗎? – user1019072 2012-04-16 20:03:02

+0

這將取決於正在導入的數據量。單個記錄中有多少數據?如果您只處理大約100個合理大小的記錄,我不會想象您需要擔心很多批量大小。我很好奇,你在導入時遇到了什麼錯誤? – JBell6 2012-04-16 20:27:18