Arquivo da categoria: Storage

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.

Reunião do SQLManiacs – Particionamento no SQL Server

Galera,

No dia 03/05 tivemos mais uma reunião do grupo SQLManiacs com outra excelente apresentação do Luti.

Quero agradecer a todos que puderam comparecer e também parabenizá-los pelo imenso interesse em conhecer cada vez mais o SQL Server.

Caso tenham interesse em realizar o download da apresentação e demonstrações utilizadas na apresentação, basta acessar o link abaixo:

Particionamento no SQL Server

Seguem também algumas fotos da reunião:

20160503_192429 20160503_192438  20160503_192515 20160503_192523

Espero que tenham gostado 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.

Webcast – Stretch Database – Armazenamento de dados históricos no SQL Server 2016

Galera,

No dia 22/03, à partir das 21:00, teremos mais uma apresentação online para o SQLManiacs sobre o SQL Server 2016.

Desta vez quero conversar com vocês sobre a funcionalidade chamada Stretch Database, com a qual é possível otimizar o armazenamento e manipulação de dados históricos integrando uma instância de SQL Server com o SQL Azure.

Caso tenha interesse em participar basta acessar o link abaixo no horário do evento:

Youtube => http://www.youtube.com/watch?v=tWtspY67I5U

Também pode fazer o agendamento do evento utilizando o arquivo .ics abaixo:

Agendamento – Stretch Database

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 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.

SOLUÇÃO DO DESAFIO DO GORDO – The Column is 80 percent full

Galera,

Antes de mais nada quero agradecer a todos que participaram do último Desafio do Gordo e parabenizá-los também, pois tivemos várias abordagens interessantes e muitas respostas corretas.

Apesar de parecer extremamente complexo esse warning que mostrei, ele é baseado simplesmente no limite máximo que um determinado tipo de dados suporta de informação no SQL Server.

No exemplo citado, uma coluna definida com o o tipo de dados INT suporta um valor numérico entre –2.147.483.647 e 2.147.483.647 e caso qualquer valor acima deste limite tente ser inserido ocorrerá um erro alertando que o tipo de dados não suporta o valor.

Pensando nessa limitação fica bem mais fácil entender que o warning era referente a quantidade de informação já inserida na coluna CodCli e que essas informações já estavam utilizando 80% do range de valores suportados pelo tipo de dados INT.

E como poderíamos evitar qualquer problema mais grave em nosso banco de dados SQL Server?

Para evitarmos qualquer problema seria necessário alterar o tipo de dados da coluna CodCli de INT para BIGINT, permitindo assim um range de valores numéricos entre -9.223.372.036.854.775.808 e 9.223.372.036.854.775.808, possibilitando que a coluna CodCli continuasse sendo utilizada respeitando essa nova limitação de valores.

Espero que tenha gostado 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.

SQL Saturday #469 – Stretch Database

Galera,

No dia 21/11 aconteceu mais um grande evento da comunidade de SQL Server no Brasil, o SQL Saturday #469.

Fiquei extremamente contente de poder novamente fazer parte de um grande evento e ainda por cima ser um dos palestrantes.

Quem não pôde comparecer e quem compareceu e quiser o material utilizado na minha sessão, basta acessar o link abaixo:

SQL Saturday #469 – Stretch Database

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.

SQL Saturday #469 – Brasilia

Galera,

No vídeo de hoje quero falar um pouco sobre os principais eventos de SQL Server que ocorrerão neste mês de Novembro/2015.

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

Grande abraço a todos.

24 Hours of PASS – Portuguese Edition 2015

Galera,

Nos dias 18/11 e 19/11 teremos novamente o 24 hours of PASS -Portuguese Edition, que é um evento oficial do PASS com grandes nomes da comunidade brasileira e portuguesa falando sobre SQL Server.

Com certeza acompanharei todas as sessões e espero que vocês também aproveitem essa excelente oportunidade de conhecer um pouco mais sobre o SQL Server.

Espero a participação de todos 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.

Webcast – Distribuição de dados e o algoritimo Proportional Fill no SQL Server

Galera, tudo bem com vocês?

No dia 22/09, à partir das 21:00, teremos mais um excelente webcast sobre SQL Server e desta vez o palestrante será o Thiago Caserta que atua como SQL Server Premier Field Engineer na Microsoft Corporation na cidade de Nova York.

O tema escolhido para essa sessão é Distribuição de dados e o algoritimo Proportional Fill no SQL Server e caso tenha interesse em participar basta acessar o link abaixo no horário do evento:

Distribuição de dados e o algoritimo Proportional Fill no SQL Server

Lembrem-se que no dia 17/09, também à partir das 21:00, apresentarei para vocês um webcast sobre compressão de dados no SQL Server e para participar basta utilizar o link abaixo no horário do evento:

Entendendo a compressão de dados no SQL Server

Não deixe de participar da enquete sobre qual ferramenta de monitoração utiliza em seu ambiente de banco de dados SQL Server.

Espero a participação de todos vocês e aproveitem também para inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Livro do Mês de Julho – Storage Networks Explained

Galera,

Neste mês de julho quero indicar um livro que possui o foco diferente do habitual mas que tem muito haver com o nosso dia a dia como DBA.

Sempre fui muito interessado pela área de Storage e atualmente estou lendo o livro Storage Networks Explained com a intenção de conseguir algumas certificações referentes à implantação e gerenciamento de soluções de armazenamento.

Este livro explica desde os conceitos básicos de Storage, NAS e SAN até o desenho completo de uma infraestrutura flexível e escalável.

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.