Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi SQL Server 2008 bloque-t-il les SELECT sur les longues transactions INSERT ?

ce comportement de verrouillage est une fonctionnalité de SQL Server. Avec 2005 et versions ultérieures, vous pouvez utiliser gestion des versions au niveau de la ligne (qui est ce qui est utilisé par défaut sur Oracle) pour obtenir le même résultat et ne pas bloquer vos sélections. Cela met une pression supplémentaire sur tempdb car tempdb maintient la gestion des versions au niveau de la ligne, alors assurez-vous de tenir compte de cela. Pour que SQL se comporte comme vous le souhaitez, exécutez ceci :

ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON