Bloqueio dinâmico
Usar bloqueios de nível baixo, como bloqueios de linha, aumenta a simultaneidade diminuindo a probabilidade de duas transações solicitarem bloqueios, da mesma parte dos dados, ao mesmo tempo. Bloqueios de nível baixo também aumentam o número de bloqueios e os recursos necessários para administrá-los. Usar tabela de nível alto ou bloqueios de página diminui a sobrecarga, porém causando diminuição da simultaneidade.
O Microsoft Mecanismo de banco de dados do SQL Server usa uma estratégia de bloqueio dinâmico para determinar os bloqueios mais eficazes. O Mecanismo de Banco de Dados determina automaticamente quais os bloqueios mais apropriados quando a consulta é executada, com base nas características do esquema e da consulta. Por exemplo, para reduzir a sobrecarga de bloqueios, o otimizador pode escolher bloqueios no nível de página em um índice, ao executar uma verificação do índice.
O bloqueio dinâmico tem as seguintes vantagens:
Administração de banco de dados simplificada. Os administradores do banco de dados não precisam ajustar os limites de escalonamento de bloqueio.
Desempenho superior. O Mecanismo de Banco de Dados minimiza a sobrecarga do sistema usando bloqueios adequados à tarefa.
Os desenvolvedores de aplicativos podem se concentrar no desenvolvimento. O Mecanismo de Banco de Dados ajusta o bloqueio automaticamente.
No SQL Server 2008, o comportamento do escalonamento de bloqueio mudou com a apresentação da opção LOCK_ESCALATION. Para obter mais informações, consulte a opção LOCK_ESCALATION de ALTER TABLE.