Recentemente, atualizamos um servidor para SQL Server 2008 R2. O servidor estava executando o SQL Server 2005. Estamos usando
- Replicação Transacional
- Data Warehouse de gerenciamento e coletor de dados no servidor de produção
Estamos começando a ver erros de bloqueio no log do aplicativo. Isso não acontecia no SQL 2005.
No banco de dados de relatórios, posso replicar um impasse usando uma consulta "ad-hoc" com uma junção interna e varredura de tabela em uma tabela ativa. No entanto, posso executar procedimentos de relatório que levam minutos para serem concluídos sem problemas.
O sql 2008 é mais sensível a impasses no sql 2005? Vou começar a desfazer algumas das mudanças que implementamos e testamos. Antes de seguir esse caminho, gostaria de ver se mais alguém notou o aumento de impasses ao atualizar para o 2008 R2.
A "sensibilidade a impasses" não é específica da versão. Está relacionado com concorrência e contenção. Consulte esta referência BOL para obter mais informações sobre bloqueios .
Há certas coisas que influenciam o impasse, como níveis de isolamento de transação e escalonamento de bloqueio . Essas são configurações configuráveis que afetam se e quando o impasse pode/vai acontecer em determinadas situações.
Será preciso um pouco de investigação de sua parte para descobrir por que você está vendo mais impasses acontecendo. Mas, para responder à sua pergunta, não é específico para a versão do SQL Server.
Quanto ao processo de impasse , quando o SQL Server entra em um impasse, ele escolhe uma vítima para que a situação de simultaneidade insolúvel possa ser concluída.