Arquivo

Archive for the ‘VLDB’ Category

Dicas para um DBA Iniciante – Encontrando consultas utilizando muitas operações de I/O

Galera,

Recentemente passei por um cenário no qual um dos servidores de um cliente apresentava momentos de extrema lentidão ao executar alguns relatórios operacionais e durante o processo de troubleshooting foi possível identificar o wait type PAGEIOLATCH ocorrendo muitas vezes.

Com esta informação mantive o foco em encontrar as consultas que utilizavam uma grande quantidade de operações de I/O e assim iniciar uma análise mais detalhada dos planos de execução entendendo a razão desta alta quantidade de operações de I/O.

Para isto utilizei a query abaixo, que quero compartilhar com vocês.

WITH QueryIO AS 
(
    SELECT TOP 1000
        [Average IO] = (total_logical_reads + total_logical_writes) / qs.execution_count,
        [Total IO] = (total_logical_reads + total_logical_writes),
        [Execution count] = qs.execution_count,
        [Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2,
                 (CASE WHEN qs.statement_end_offset = -1
                    THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
                  ELSE qs.statement_end_offset END - qs.statement_start_offset)/2
                  ),
        [Parent Query] = qt.text,
        DatabaseName = DB_NAME(qt.dbid)
    FROM 
        sys.dm_exec_query_stats qs
    CROSS APPLY 
        sys.dm_exec_sql_text(qs.sql_handle) AS qt
    WHERE 
        (total_logical_reads + total_logical_writes) / qs.execution_count > 1000
    ORDER BY 
        [Total IO] DESC
)
SELECT 
    * 
FROM 
    QueryIO 
ORDER by 
    [Execution count] desc

Executando a consulta no servidor de banco de dados SQL Server, obtivemos um resultado semelhante ao ilustrado na Figura 1.

IO_Results
Figura 1 – Consultas utilizando grande quantidade de operações de I/O

Após a análise das 5 primeiras consultas, retornadas já foi possível identificar a causa da lentidão e solucionar em definitivo o problema.

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

TDC – Planejando um ambiente SQL Server de alta performance e missão crítica

Galera,

Do dia 05/07 até o dia 09/07 ocorrerá o The Developers Conference, um evento muito interessante com diversas trilhas voltadas para tecnologia.

Uma destas trilhas é específica para banco de dados, coordenada pelos MVPs Marcus Vinicius Bittencourt e Diego Nogare, e novamente terei a grande oportunidade de participar como um dos palestrantes com o tema Planejando um ambiente SQL Server de alta performance e missão crítica.

O evento ocorrerá na Universidade Anhembi Morumbi, localizada na Rua Casa do Ator, 275 na Vila Olímpia e caso tenha interesse em conhecer mais sobre o evento e também fazer sua inscrição, basta acessar o link abaixo:

The Developers Conference

Também reagendei nosso webcast sobre segurança no SQL Server 2016 para o dia 23/06, a partir das 21:00 e caso tenham interesse em participar, basta acessar o link abaixo no horário do evento:

YouTube => http://www.youtube.com/watch?v=yg-HP3lS2Gc

Espero todos vocês lá e não deixem de inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Resultado da enquete – Qual o maior banco de dados da sua empresa?

Galera,

No vídeo de hoje quero analisar com vocês o resultado da enquete sobre o tamanho do maior banco de dados existente em seu ambiente e também passar algumas dicas de como trabalhar com VLDBs.

Espero que gostem e não deixem de inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço.