Pourquoi cette déclaration de lock-up sur SQL Server?
J'ai une simple requête comme ceci
SELECT * FROM MY_TABLE;
Quand je le lance, SQL Server Management Studio se bloque.
D'autres tables et des vues fonctionnent très bien.
Ce qui peut provoquer cela? J'ai eu des verrous lors de l'exécution de la mise à JOUR des déclarations avant, et je sais comment l'approche de ceux-ci. Mais ce qui pourrait causer une sélection de serrure?
J'ai couru le "Tous de bloquer les Transactions" le rapport, et il dit qu'il n'y aucun.
Vous devez vous connecter pour publier un commentaire.
Il n'est probablement pas le sélectionner qui bloque, mais certains autres processus d'édition (udpate/delete/insert) le tableau qui est à l'origine d'une écluse.
Vous pouvez visualiser le processus de blocage par runing
exec sp_who2
sur votre Serveur SQL server.Alternativement, si vous êtes OK avec les lectures incorrectes, vous pouvez faire une des deux choses
OU
Si il y a beaucoup d'autres activités sont en cours, quelque chose d'autre pourrait être à l'origine de serrures et de vos SÉLECTIONNER peut être la victime. si vous exécutez ce qui suit
vous dites à la base de données que vous êtes ok pour lire sale (uncomitted) de données, et que les verrous sont causés par d'autres, l'activité peut être ignoré en toute sécurité.
Aussi, si une requête qui provoque management studio pour accrocher votre tableau usage d'une optimisation
Utiliser ceci:
Deux possibilités:
MY_TABLE
pourrait aussi être verrouillé par une transaction non validée -- c'est à dire un script ou d'une procédure stockée en cours d'exécution (ou d'échec lors de la course) dans un autre MSMM fenêtre.