comment résoudre le problème de blocage?
j'ai lu ça morts problème de verrouillage de la base de données des tables de commencer à accumuler des milliers de lignes et de nombreux utilisateurs de commencer à travailler sur la même table, simultanément, les requêtes SELECT sur les tables de commencer à produire de verrouillage de querelles et de transaction et des blocages.
Est ce problème de blocage liés à TransactNo updlock?
Si vous connaissez ce problème, faites le moi savoir pls.
Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Des blocages peuvent se produire pour de nombreuses raisons et parfois le dépannage des blocages peuvent être plus un art qu'une science.
Ce que j'utilise pour trouver et se débarrasser des blocages, à l'extérieur de la plaine du générateur de profils SQL, est un outil léger qui donne une représentation graphique de blocages à mesure qu'ils surviennent. Quand vous voyez un blocage, vous pouvez percer vers le bas et obtenir de précieuses informations. Détecteur De Blocage -- http://www.sqlsolutions.com/products/sql-deadlock-detector
C'est un outil simple, mais pour moi, c'est exactement ce qu'il est censé faire. Une chose: la première fois que je l'ai utilisé, j'ai dû attendre 15 minutes pour que l'outil pour recueillir assez de métriques de commencer à montrer des blocages.
Un blocage peut se produire pour de nombreuses raisons, de sorte que vous avez à faire un peu de devoirs d'abord si vous voulez être aidé et nous dire ce qui est à l'origine de l'impasse, c'est à dire. quels sont les lots comportent din de l'impasse de l'exécution, quelles sont les ressources impliquées, et ainsi de suite et ainsi de suite. Le Profiler événement de blocage graphique est toujours un excellent endroit pour commencer l'enquête.
Si je me risquerais un coup de feu dans l'obscurité ce qui se passe est que vos requêtes et les index ne sont pas réglés correctement de sorte que la plupart de vos opérations de lecture (et peut-être certains de l'écrit) sont des analyses de tables complètes et sont donc garantis à entrer en collision avec les mises à jour. Cela peut entraîner des les blocages par ordre de l'indice de l'accès, blocage par l'ordre des opérations, de blocage par l'escalade et ainsi de suite et ainsi de suite.
Une fois que vous identifiez la cause de l'impasse ensuite, l'action appropriée pour supprimer il peut être pris. Le cas lorsqu'il a la bonne action est de recourir à des lectures incorrectes sont extrêmement rares.
BTW, je ne suis pas sûr de ce que tu entends par "TransactNo updlock'. Êtes-vous en demandant explicitement à propos de la S-U/Us asymétrie des verrous U?
Un problème commun avec haute isolation est
l'escalade de verrousles blocages en raison de la le scénario suivant; c'est à dire (où X est une ressource, comme une ligne)Impasse! Ce scénario peut être évité en prenant plus serrures:
(UPDLOCK)
spécifié - obtient un verrou exclusifVous n'avez pas fourni suffisamment d'informations pour répondre directement à votre question.
Mais la plupart de verrouillage et de blocage peut être réduit ou même éliminé) par le fait d'avoir les "bons" des index pour couvrir vos requêtes de la charge de travail.
Dû vous un index entretien de l'emploi prévue?
Si vous avez
SELECT
s qui n'ont pas besoin d'être précis à 100% (c'est à dire autoriser les lectures erronées, etc), alors vous pouvez exécuter certainesSELECTS
avecWITH(NOLOCK)
, qui est la même que pour un niveau d'isolation READ UNCOMMITED. Note: je ne dis pas que vous placezWITH(NOLOCK)
partout, juste sur SÉLECTIONNE ceux qui n'ont pas besoin de 100% intacte de données.Je vais jeter mes propres articles et des postes dans le mélange sur les blocages:
https://www.sqlskills.com/blogs/jonathan/category/deadlock/
J'ai aussi une série de vidéos sur la résolution des problèmes de blocage sur JumpstartTv.com ainsi:
http://jumpstarttv.com/profiles/1379/Jonathan-Kehayias.aspx
Des blocages peuvent être difficiles à résoudre, mais à moins que vous postez votre graphique de blocage de l'information, il n'y a pas de toute façon, nous pouvons faire plus que de donner des liens vers des postes et des informations sur la résolution des blocages.
"Blocage De Dépannage, Partie 1"
http://blogs.msdn.com/bartd/archive/2006/09/09/Deadlock-Troubleshooting_2C00_-Part-1.aspx
"Lorsque L'Indice Couvrant Empêche Les Blocages"
http://sqlblog.com/blogs/alexander_kuznetsov/archive/2008/05/03/when-index-covering-prevents-deadlocks.aspx