Lock Convoy

Você sabe o que é Lock Convoy? (Dica: não tem nada a ver com os locks e bloqueios do SQL Server). Já havia presenciado esse problema na faculdade. Fomos fazer um trabalho em grupo com 20 pessoas. A matemática era que, se uma pessoa conseguiria fazer o trabalho em 8 horas, então terminaríamos em questão…


Arquitetura do SQL Server

Finalmente publicado o primeiro vídeo da série Fundamentos de Banco de Dados. https://channel9.msdn.com/Series/SQL-Fundamentos/Arquitetura-do-SQL-Server Nesse episódio vamos falar sobre as grandes famílias de componentes. Para quem já viu minhas palestras, deve ter notado que sempre comento sobre a separação entre Relational Engine (Linguagem, compilação e execução) e Storage Engine. Além disso, temos a família de Protocols…


Vídeos de Fundamentos Banco de Dados

Decidi começar um experimento diferente, que vai além do blog, que é uma série de vídeos explicativos sobre o funcionamento do SQL Server. Há muito tempo tenho pensado nessa ideia e finalmente se tornou realidade. A série estréia no Channel 9.   https://channel9.msdn.com/Series/SQL-Fundamentos Ainda não planejei o número exato de vídeos. Gostaria de fechar em…


Logs Circulares 2

Encontrei um exemplo nos meus arquivos. Não sei exatamente quem me passou ou se encontrei no documento de performance, mas vou deixar registrado no blog. Frequentemente utilizo o script para lembrar da sintaxe do XQuery e da conversão de timestamp. SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime, DATEADD (ms, -1 * (sys.ms_ticks – a.[Record Time]),…


Logs Circulares

Semana passada alguém me perguntou sobre esse “Ring Buffer”. É incrível a coincidência de que sempre que falo sobre memória, alguém comenta sobre esse recurso. Esse assunto sempre volta a tona, eu mesmo já escrevi um post sobre Ring Buffer e agora estou escrevendo novamente. O que é um Ring Buffer? A tradução literal é…


Qual o significado de PREEMPTIVE_OS_PIPEOPS?

Publiquei um post de um cenário na qual o comando KILL que não consegue matar o processo. Desafio: Comando KILL demorado (infinito) Esse foi um desafio (fácil, pelo jeito). A resposta é usar uma ferramenta para matar o processo do NOTEPAD.EXE, seja através de script Powershell, usando o Task Manager ou o comando TASKKILL. Alguns…


Desafio: Comando KILL demorado (infinito)

A ideia desse post surgiu há 3 semanas durante um treinamento interno com a equipe de suporte. Desde então tivemos comemorações de Natal e Ano Novo. Espero que todos tenham aproveitado essa época. Aproveito para desejar a todos um ótimo ano de 2014!!! O tópico de hoje é entender um conceito relacionado a threads e…


TechEd Brasil 2011

Estes dias estava retomando os projetos antigos e um deles era o Blog ninja. Resolvi aliviar um pouco o trabalho e voltar a investir o tempo em escrever mais sobre SQL Server e seu funcionamento interno. Acabei lembrando do TechEd 2011, na qual apresentei em conjunto com o Luiz Felipe Pimenta a palestra “Raio-X do…


Novamente Spinlock

O que seria um spinlock? Essa é uma pergunta recorrente e que mal consigo explicar… parte porque é uma estrutura pouco detalhada nos artigos da Microsoft. Para aqueles que nunca viram o “spinlock” documentado, segue algumas pistas de que ele realmente existe: Artigo de Suporte KB835864: http://support.microsoft.com/kb/835864 On multiprocessor computers, access to these counter values…


Travamento do SQL Scheduler (Scheduler Hang)

Introdução: SQL Scheduler (Cooperative Mode) SQL Thread Yield: SQL Scheduler Yield Apesar do SQL Scheduler ser o componente responsável pelo gerenciamento de threads do SQL Server, as threads são as principais responsáveis pelo funcionamento balanceado no modo cooperativo. Cada thread determina o tempo necessário para rodar parte da sua tarefa e, em seguida, passa o…