Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que o SQL Server 2008 está bloqueando SELECTs em longas transações INSERTs?


esse comportamento de bloqueio é um recurso do SQL Server. Com 2005 e superior, você pode usar versão de nível de linha (que é o que é usado por padrão no Oracle) para obter o mesmo resultado e não bloquear suas seleções. Isso sobrecarrega o tempdb porque o tempdb mantém o controle de versão em nível de linha, portanto, certifique-se de acomodar isso. Para fazer o SQL se comportar da maneira que você deseja, execute isto:
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON