Précédent   Forum du club des développeurs et IT Pro > Bases de données > MS SQL-Server > Outils
Outils Forum d'entraide sur les outils gravitant autour de MS-SQL Server, tels que bcp, TDS, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/08/2012, 15h32   #1
bribou
Invité de passage
 
Inscription : août 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 34
Points : 4
Points : 4
Par défaut 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?
bribou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2012, 18h06   #2
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 080
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 080
Points : 21 678
Points : 21 678
faire de la lecture sale (READ UNCOMMITTED), qui plus est avec un tag de table est généralement une haute stupidité car vous pouvez lire deux fois les mêmes lignes ou bien en oublier !
Il suffit d'utiliser le niveau d'isolation approprié, par exemple en utilisant le niveau SNAPSHOT.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2012, 13h35   #3
bribou
Invité de passage
 
Inscription : août 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 34
Points : 4
Points : 4
Citation:
Envoyé par SQLpro Voir le message
Il suffit d'utiliser le niveau d'isolation approprié, par exemple en utilisant le niveau SNAPSHOT.

A +
Oui c'est ce que je m'apprêtais à faire mais y a-t-il un moyen de positionner le niveau d'isolation en utilisant BCP? Ou faut-il passer par une table intermédiaire?
bribou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2012, 09h42   #4
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 080
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 080
Points : 21 678
Points : 21 678
Utilisez une procédure stockée qui renvoie un SELECT.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h44.


 
 
 
 
Partenaires

Hébergement Web