MSDTC Internals

Essa semana me surpreendi com o SQL Saturday #325. Fiquei tão empolgado que resolvi investir um tempo para escrever esse post. A escolha do tema foi através de uma conversa no twitter. Obrigado @DemetrioSQLDBA e @SQLInsane pela sugestão. Frequentemente associamos o SQL Server às operações transacionais. Todas as informações são consistentes graças ao Transaction Log….

7

Que!? PED XING?

O que você faria ao encontrar uma placa escrita SLOW PED XING enquanto dirige em direção ao trabalho? Acelera ao máximo para fugir desse Ped Xing? Há 7 anós me deparei com uma dessas placas na frente do prédio 40 da Microsoft. Claro que isso me deixou bastante curioso e fui perguntar. Para minha surpresa,…

0

Problemas com NOLOCK (SQL Server)

Estava comentando sobre a recomendação indiscriminada do uso do NOLOCK, mas até que ponto isso é bom ou ruim. Se a vantagem em performance é conhecida, quais seriam as desvantagens? Links relacionados Como usar SELECT WITH NOLOCK para melhorar a Performance? Qual a sintaxe correta: NOLOCK ou WITH (NOLOCK)? NOLOCK e INSERT/UPDATE/DELETE Problemas com NOLOCK…

3

UPDATE WITH (NOLOCK): Como funciona?

Links relacionados Como usar SELECT WITH NOLOCK para melhorar a Performance? Qual a sintaxe correta: NOLOCK ou WITH (NOLOCK)? NOLOCK e INSERT/UPDATE/DELETE Problemas com NOLOCK Efeitos colaterais do NOLOCK – Parte 1 Efeitos colaterais do NOLOCK – Parte 2 O comando NOLOCK avisa o processador do SQL Server para evitar a utilização de bloqueios (LOCK)…

0

NOLOCK ou WITH (NOLOCK): Qual a sintaxe correta?

A hint “nolock” permite que o processador do SQL Server não utilize bloqueios (LOCK) durante a leitura de informações, comportamento denominado de leitura suja. Esse é um truque velho e conhecido do SQL Server 2000 e que muitos desenvolvedores tem utilizado. O objetivo desse post é orientar sobre a a sintaxe correta do NOLOCK. Links…

0

Como usar SELECT WITH NOLOCK para melhorar a Performance?

Pode parecer uma dica simples demais, mas tenho observado muitas dúvidas quanto ao uso do NOLOCK. No tempo do SQL 2000, a própria Microsoft (que ninguém me ouça dizendo isso!) recomendava o uso indiscriminado do NOLOCK [sem referência]. Por esse motivo, decidi explicar um pouco seu funcionamento. Conhece o checklist de Performance de servidor? Checklist:…

13

Efeitos Colaterais do WITH (NOLOCK) – Parte II

Como havia mostrado no post anterior, o uso do NOLOCK pode causar comportamentos estranhos. Nesse post, vou concentrar a atenção para o ERRO 601. Msg 601, Level 12, State 3, Line 1 Could not continue scan with NOLOCK due to data movement. A interpretação usual é que o erro foi decorrente de uma situação de…

0

Efeitos colaterais do WITH (NOLOCK) – Parte I

Nesse post vou comentar sobre a utilização da hint NOLOCK e os efeitos colaterais associados. Todo mundo diz que NOLOCK é importante para performance e que, sem esse artifício, ocorreriam bloqueios desnecessários e situações de deadlocks. Com certeza isso é verdade, pois não são alocadas estruturas de table, page, row ou key lock. Por outro…

6

Deadlock Art

Fantástico!!! A imagem foi feita a partir do SQL Profiler, que captura informações em XML e renderiza uma imagem para mostrar quais são os recursos e sessões envolvidos no deadlock. O mais incrível é que esse deadlock ocorreu em um sistema real e não foi proposital.     Essa é uma outra imagem de um…

0