Question

Y at-il un moyen de faire WITH (NOLOCK) être appliqué sur une piste de l'instruction SELECT sur une base de données particulière?

Était-ce utile?

La solution

Non, mais vous pouvez utiliser le INSTANTANÉ ISOLEMENT niveau de base de données sur SQL Server 2005 et, il devrait aider beaucoup avec les interblocages

SQL Server 2005, des extensions aux niveaux d'isolation SQL-92 avec l'introduction du niveau d'isolation SNAPSHOT et une mise en œuvre supplémentaire de READ COMMITTED. Le nouveau niveau d'isolement READ_COMMITTED_SNAPSHOT peut remplacer de manière transparente READ fiable pour tous les transactions.

isolement INSTANTANÉ précise que les données lues dans une transaction ne sera jamais tenir compte des changements effectués par d'autres transactions simultanées. La transaction utilise les versions de ligne de données qui existent lorsque la transaction commence. Aucun verrou sont placés sur les données lorsqu'il est lu, si les transactions SNAPSHOT ne bloquent pas les autres transactions d'écriture de données. Les transactions que les données d'écriture ne bloquent pas les transactions de capture instantanée à partir des données de lecture. Vous devez activer l'isolement d'instantané en définissant l'option de base de données ALLOW_SNAPSHOT_ISOLATION afin de l'utiliser.

L'option de base de données READ_COMMITTED_SNAPSHOT détermine le comportement de la valeur par défaut LIRE niveau d'isolement ENGAGE lorsque l'isolement de cliché est activé dans une base de données. Si vous ne spécifiez pas explicitement READ_COMMITTED_SNAPSHOT ON, LIRE ENGAGE est appliquée à toutes les transactions implicites. Cela produit le même comportement que la mise en READ_COMMITTED_SNAPSHOT OFF (valeur par défaut). Lorsque READ_COMMITTED_SNAPSHOT OFF est en vigueur, les utilisations du moteur de base de données verrous partagés pour faire respecter le niveau d'isolation par défaut. Si vous définissez l'option de base de données READ_COMMITTED_SNAPSHOT sur ON, le moteur de base de données utilise le versioning de ligne et de l'isolement de cliché par défaut, au lieu d'utiliser des verrous pour protéger les données.

Autres conseils

dépend de votre base de données. Certains moteurs de base de données permettent par défaut à lit sale ou des comportements similaires.

Exemple, certaines versions MSSQL serveur vous permettent de configurer la base de données comme isolement de capture instantanée, qui est décrit dans le poste de SQLMenace.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top