Quelles sont les règles de portée pour les niveaux d'isolation des transactions dans SQL Server 2005? Je sais ce que les différents niveaux de sens, mais de ne pas savoir comment les appliquer correctement à l'extérieur de la main, et l'exécution d'un script. Je ne peux pas trouver un guide pour une utilisation pratique dans la production d'un code de qualité.
De toute évidence, la portée commence lorsque vous utilisez une commande comme ceci:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
Mais où prend-elle fin? Si j'ai mis le niveau de l'iso dans une procédure stockée, puis que le proc en appelle une autre, ne imbriquée proc en hériter? Encore mieux, si j'escalade le niveau de l'iso à l'intérieur de la imbriquée proc est-ce qu'il va effectuer, de retour à l'appel de la proc? Faire les commandes de transaction comme BEGIN TRAN, la RESTAURATION, et de s'ENGAGER faire des différences?
Lorsqu'une procédure stockée est appelée par une application ou un travail de l'agent de faire le niveau d'isolation des changements persistent, d'une certaine façon? Dois-je toujours revenir à la valeur par défaut de LECTURE validée à la fin de chaque proc?
Je voudrais le tester dans diverses situations mais je ne sais pas comment faire pour lire ce que l'actuel niveau d'isolation est réglé.