Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché SQL Server 2008 blocca SELECT su INSERT a transazione lunga?

questo comportamento di blocco è una funzionalità di SQL Server. Con 2005 e versioni successive, è possibile utilizzare versione a livello di riga (che è ciò che viene utilizzato per impostazione predefinita su Oracle) per ottenere lo stesso risultato e non bloccare le selezioni. Ciò mette a dura prova tempdb perché tempdb mantiene il controllo delle versioni a livello di riga, quindi assicurati di adattarlo. Per fare in modo che SQL si comporti nel modo desiderato, esegui questo:

ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON