Alta simultaneidade do Microsoft SQL Server causa erros de conflito de transações porque os gravadores bloqueiam o acesso, por leitores, aos recursos do banco de dados. É possível reduzir a probabilidade de conflito configurando a opção READ_COMMITTED_SNAPSHOT
ON para o seu banco de dados.
Procedimento
Para reduzir erros de conflito em um banco de dados do Microsoft SQL Server:
- Encerre todos o servidores e clientes que podem se conectar ao banco de dados (dbName) certifique-se de que não haja outras conexões com o Microsoft SQL Server.
- Conecte-se ao Microsoft SQL Server e emita o comando SQL a seguir para determinar se o isolamento de captura instantânea está ativado para dbName:
SELECT name, is_read_committed_snapshot_on FROM sys.databases
em que name='dbName'
Se o isolamento de captura instantânea estiver ativado para dbName, ignore o restante deste procedimento.
- Emita o comando a seguir para ativar o isolamento de captura instantânea para dbName:
ALTER DATABASE dbName SET READ_COMMITTED_SNAPSHOT ON
- Reinicie o Microsoft SQL Server e
emita o comando SQL a seguir para confirmar se a configuração do Isolamento de captura instantânea esteja em vigor para dbName:
SELECT name, is_read_committed_snapshot_on FROM sys.databases
em que name='dbName'