Deadlock en exportant des données avec BCP
Bonjour,
J'essaie d'exporter dans un fichier (avec bcp en mode natif) des changements fournis par les fonctions de Change Tracking.
Pendant que bcp exécute
Code:
SELECT ... FROM T RIGHT OUTER JOIN CHANGETABLE(CHANGES T, @last_synchronization_version) ...
pour obtenir les changements, une application fait des INSERTs en masse dans la table T.
Le bulk copy se fait éjecter par SQL Server avec l'erreur suivante
SQLState = 40001, NativeError = 1205
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Transaction (Process ID 107) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Les changements dans T sont à 99% des inserts.
Si j'ajoute WITH(NOLOCK) derrière FROM T, le fichier .dat est inutilisable.
Pouvez-vous m'aider?