Posts
  • SQL Blog Ninja - Fabricio Catae

    Spinlock (Parte I)

    • 6 Comments
    Tenho recebido uma série de emails perguntando sobre SPINLOCK e infelizmente não tive tempo para escrever muito sobre o assunto. Há um post antigo: Spinlock Contention , mas vejo que falta mais coisa. Vou escrever esse artigo para...
  • SQL Blog Ninja - Fabricio Catae

    O que é um Resource Semaphore?

    • 6 Comments
    Semana passada consegui um ótimo exemplo de um problema relacionado com a falta de memória. No caso, a lentidão do sistema estava relacionada com espera por recursos denominados “Resource Semaphore” – um problema...
  • SQL Blog Ninja - Fabricio Catae

    Lock Pages in Memory

    • 2 Comments
    Quando um processo aloca memória, as chamadas são convertidas em comandos VirtualAllocEx() para o gerenciador de memória do Windows. Toda essa memória é denominada memória virtual , que pode ser alocada em Page file ou RAM. Além disso, o Sistema Operacional...
  • SQL Blog Ninja - Fabricio Catae

    DMV: Memory Grants

    • 0 Comments
    Como monitorar queries que realizam alto consumo de memória? (Comentário: existem várias formas de interpretar “consumo de memória”. Nesse artigo, falamos sobre o espaço de trabalho usado por uma query) Use a view: sys.dm_exec_query_memory_grants Exemplo...
  • SQL Blog Ninja - Fabricio Catae

    Cache de Dados

    • 1 Comments
    <Continuando o artigo Monitorando a memoria do SQL Server > Antes de entender como o SQL Server gerencia seus recursos, vamos discutir uma questão relacionada ao papel da memória no servidor: Qual a principal função da memória em um servidor de...
  • SQL Blog Ninja - Fabricio Catae

    Monitorando a Memória do SQL Server

    • 19 Comments
    Hoje recebi um comentário sobre a utilização de memória no SQL Server e comecei a pensar um pouco mais sobre o assunto. Será que esse é um assunto interessante? Comentei com um amigo sobre o assunto e ele (que não trabalha em TI) disse que vale a pena...
  • SQL Blog Ninja - Fabricio Catae

    Exatamente 5000 portas!

    • 0 Comments
    Essa foi uma situação curiosa. Realizamos um teste de stress para validar a carga de um servidor SQL Server e, para nossa surpresa,  deparamos com erros “ SQL Server Does Not Exist Or Access Denied ”. Usando o NETSTAT, observamos que havia um limite...
  • SQL Blog Ninja - Fabricio Catae

    Efeitos Colaterais do WITH (NOLOCK) – Parte II

    • 0 Comments
    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. ...
  • SQL Blog Ninja - Fabricio Catae

    Desafio: Erros gerados em consulta indexada

    • 9 Comments
    No desafio anterior , comentamos sobre a restrição de uso do ORDER BY dentro de uma View. Dessa vez, o desafio está relacionado a uma consulta que passa a gerar erros após a criação de índices. Imagine uma tabela composta pelos campos (ID, Nome, Idade...
  • SQL Blog Ninja - Fabricio Catae

    Efeitos colaterais do WITH (NOLOCK) – Parte I

    • 5 Comments
    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...
  • SQL Blog Ninja - Fabricio Catae

    Shared Memory

    • 0 Comments
    Pergunta: Por que não posso apagar um arquivo DLL que está em uso no Windows? Para responder essa pergunta, começarei com uma outra pergunta: Qual a diferença entre Shared e Private Working Set ? (veja os números em WS Private e WS Shareable/Shared...
  • SQL Blog Ninja - Fabricio Catae

    Desafio: Usando ORDER BY dentro de uma VIEW

    • 4 Comments
    Deixo compartilhar uma situação que ocorreu no trabalho: o desenvolvedor utilizava uma view para retornar os dados ordenados. Segundo ele, o comando abaixo funcionava no SQL 2000, mas deixou de funcionar no SQL 2005. CREATE VIEW vwOperacao AS SELECT...
  • SQL Blog Ninja - Fabricio Catae

    Marília TechDay 2010

    • 3 Comments
    Em resumo: Foi um prazer apresentar-me para o pessoal universitário! Yeah! Gostaria de agradecer imensamente ao pessoal da organização do Marília TechDay 2010 pelo sensacional evento que ocorreu na UNIVEM . Parabéns Laerte e Arnaldo, show de bola!!! Nesse...
  • SQL Blog Ninja - Fabricio Catae

    Memory: Working Set

    • 0 Comments
    O conceito de Working Set no Windows corresponde somente a memória física (RAM) associada a memória virtual, mas não considera memória alocada diretamente do Sistema Operacional através do mecanismo de Address Window Extension (AWE). Isso significa que...
  • SQL Blog Ninja - Fabricio Catae

    Processos e Threads

    • 2 Comments
    Quem se recorda dos “Blue Screen” nos tempos do WIndows 95/98? O próprio chefe já demonstrou ao vivo!!!   Faz tempo que isso não acontece. A última vez que vi um Blue Screen foi quando meu notebook estava com problemas de memória, ou seja, era um...
  • SQL Blog Ninja - Fabricio Catae

    Deadlock Art

    • 0 Comments
    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...
  • SQL Blog Ninja - Fabricio Catae

    Background Task: Log Writer

    • 0 Comments
    Log writer é um processo dedicado que auxilia na escrita de log para todos os bancos de dados. Apesar de ser único no servidor, ele realiza escrita em todos os arquivos de Transaction Log. Dentro do SQL Server, o log writer corresponde a uma task de sistema...
  • SQL Blog Ninja - Fabricio Catae

    Problema: The system detected a possible attempt to compromise security (Parte 1)

    • 2 Comments
    Hoje me deparei com um problema bastante interessante em um servidor SQL e gostaria de compartilhar: o servidor retornava erro ao rodar a stored procedure sp_readerrorlog. Msg 22004, Level 16, State 1, Line 0 Failed to open loopback connection. Please...
  • SQL Blog Ninja - Fabricio Catae

    Log Sequence Number (LSN)

    • 0 Comments
    Com o objetivo de manter as propriedades ACID (Atomicity, Consistency, Isolation e Durability), as transações efetuadas em banco de dados utilizam registros de log com informações de undo/redo de suas operações. Cada operação é identificada unicamente...
  • SQL Blog Ninja - Fabricio Catae

    Atualizando as estatistica apos INDEX REBUILD

    • 3 Comments
    Sabe-se que as estatísticas são atualizadas durante a recriação de índice (ALTER INDEX REBUILD). Então, surge uma dúvida: se o processo noturno de manutenção realiza o rebuild de índice diariamente, ainda é necessário atualizar as estatísticas? Com...
  • SQL Blog Ninja - Fabricio Catae

    Assembly Itanium

    • 0 Comments
    No post anterior , mostrei os registradores da plataforma x64 e um exemplo de uma listagem em assembly. Como curiosidade, resolvi compilar um programa para a plataforma Itanium. Rotina comando() : __int64 comando(__int64 a, __int64 b, __int64...
  • SQL Blog Ninja - Fabricio Catae

    Assembly x64

    • 0 Comments
    Esses dias estive trabalhando em um problema complicado envolvendo o engine do SQL Server rodando assembly .NET. A análise foi feita em um dump de memória x64 e achei que essa seria uma ótima oportunidade para escrever um blog sobre esse assunto. ...
  • SQL Blog Ninja - Fabricio Catae

    Geração 64-bits

    • 0 Comments
    Quantas vezes você já esteve envolvido em um problema e, ao procurar na Internet, percebe que uma das soluções é migrar para 64-bits? No meu trabalho do dia a dia, escuto isso todas as semanas durante conversas com os...
  • SQL Blog Ninja - Fabricio Catae

    Estatísticas

    • 0 Comments
    Como verificar as estatísticas relacionadas a uma tabela? SELECT [LastUpdate] = STATS_DATE ( object_id , stats_id ), [Table] = OBJECT_NAME ( object_id ), [Statistic] = name FROM sys . stats WHERE object_id = OBJECT_ID ( 'tbUsuario' ...
  • SQL Blog Ninja - Fabricio Catae

    Spinlock Contention

    • 6 Comments
    Problemas de contenção por spinlock são difíceis de serem identificados. As estatísticas relacionadas com Spinlocks são disponibilizadas através do comando não-documentado: DBCC SQLPERF ( SPINLOCKSTATS ) Um trecho do resultado no SQL Server 2000...
Page 4 of 5 (109 items) 12345