sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué SQL Server 2008 bloquea SELECT en INSERT de transacciones largas?

este comportamiento de bloqueo es una característica de SQL Server. Con 2005 y versiones posteriores, puede usar versión de nivel de fila (que es lo que se usa de forma predeterminada en Oracle) para lograr el mismo resultado y no bloquear sus selecciones. Esto ejerce una presión adicional sobre tempdb porque tempdb mantiene el control de versiones de nivel de fila, así que asegúrese de adaptarse a esto. Para hacer que SQL se comporte de la manera que desea, ejecute esto:

ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON