Skip to content

SQL: Modificar Nivel de Isolamento do Banco de Dados para Read Commited Snapshot

Software: SOFTSHOP | Grupo: BANCO DE DADOS

Solução

Causa:
Bloqueios ocasionados por transações de leitura x transações de escrita concorrentes em uma mesma tabela no banco de dados do Softshop.

Solução:

Objetivo: A alteração do nível de isolamento para Read Commited Snapshot vai fazer com o que o banco de dados passe a usar o controle de versão de registros para apresentar em cada Instrução SQL a versão do registro que estava consistida no início da transação, evitando bloqueio leitura x escrita.

Atenção: Essa configuração aumenta o uso do banco temporário do SQL Server (tempDB), caso o banco do cliente seja grande deve ser feito monitoramento após 1 mês de uso por exemplo para observar taxa de crescimento do mesmo.

Procedimento:
1- Reinicie o Serviço do SQL Server
2- Execute o Script abaixo:
-- Informe o nome do Banco de Dados ------
-- INSTRUÇÃO: Substitua "BASE" pelo nome do Banco de Dados a ser modificado

USE BASE
GO
ALTER DATABASE BASE SET SINGLE_USER WITH NO_WAIT
GO
ALTER DATABASE BASE SET READ_COMMITTED_SNAPSHOT ON;
GO
ALTER DATABASE BASE SET ALLOW_SNAPSHOT_ISOLATION OFF;
GO
ALTER DATABASE BASE SET MULTI_USER WITH NO_WAIT
GO

Documentação de Testes