Comment vérifier si une table est verrouillée dans le serveur sql

J'ai un grand rapport, je suis en cours d'exécution sur le serveur sql server. Il faut plusieurs minutes pour s'exécuter. Je ne veux pas que les utilisateurs en cliquant sur exécuter deux fois. Depuis que j'ai envelopper l'ensemble de la procédure dans une transaction, comment puis-je vérifier pour voir si la table est verrouillée par une transaction? Si oui, je voudrais retourner un message d'erreur disant "rapport de production, veuillez réessayer dans quelques minutes".

Comment cela peut-il être réalisé?

source d'informationauteur Byron Whitlock