Problemas com ASYNC_NETWORK_IO?

Fala galera, quem nunca se deparou com esse Waittype no seu dia-a-dia, fez o troubleshooting de rede e estava tudo certo, bom esse waittype na maioria dos casos não está relacionado a problemas na rede, por mais que o próprio nome leve a pensar que esteja, no vídeo eu mostro um típico caso de como esse waittype acontece.

 

 

Espero que goste e até a próxima galera.
Referências:
WaitType
https://www.sqlskills.com/help/waits/async_network_io/

SqlDataReader
https://msdn.microsoft.com/pt-br/library/haa3afyz(v=vs.110).aspx

Reginaldo Silva

Consumindo JSON com Ole Automation Procedures no SQL Server 2016, alertando sobre seus episódios favoritos (Off-Topic)

Boa noite galera, tirei mais algumas noites para me divertir com SQL Server rs, continuando o assunto anterior sobre minhas séries favoritas, desenvolvi um script utilizando um pouco de ‘Ole automation procedures’ para ‘consumir’ uma ‘Web  API’ e retornar dados em formato ‘JSON’ com informações sobre minhas séries.

O objetivo é o seguinte:
Criar um job diário que consulte os próximos episódios a serem lançados e caso os mesmos estejam prestes a serem lançados, um e-mail de alerta será enviado. Calma amigos, eu sei que existem apps que executam este processo, no entanto como citei anteriormente, o foco aqui é diversão OK? Vamos aproveitar o tempo para aprender mais um pouco sobre SQL Server, let’s go.

Caso ainda não tenha lido o último o post onde eu listei minhas séries segue o link:

https://blogdojamal.wordpress.com/2017/01/09/utilizando-dense_rank-para-classificar-minhas-series-off-topic/

 

Primeiro passo para isso é liberar o ‘Ole automation’ nas configurações do SQL Server.

 

Continuar lendo

Rebuild não zera a fragmentação ?

Fala galera, hoje vou falar de um caso muito legal, muita gente já passou por isso e as vezes não soube o porque de acontecer esse fenômeno, em algum momento você deve ter encontrado índices bem fragmentados em seu ambiente, fragmentações como 99% fragmentado e após ao rodar a rotina de Rebuild ele ficou com 70% ainda, um numero alto para fragmentação de índice, e você rodou novamente o rebuild desse índice e ele foi para 80%, rodou novamente ele foi para 65%, um tanto quanto estranho não acha ?

Bom a resposta pra isso provavelmente vai ser que esse índice é bem pequeno, mas pequeno quanto?

Para isso precisamos entender um pouco das estruturas internas do SQL Server, conhecer um pouco sobre Extents, páginas de controle GAM, SGAM, IAM e PFS. Continuar lendo

O Falso Nolock

Boa tarde pessoal, como eu disse antes queria fazer o último post técnico do ano, talvez ainda não seja esse o último temos mais alguns dias pela frente rs.

Bom essa vai ser uma dica rápida e bem interessante, bom a maioria de vocês já deve conhecer e bem o tão criticado e muito utilizado hint de tabela ‘Nolock’, em palavras resumidas ele não emiti locks para leitura e não fica bloqueado por operações de Updates podendo fazer o que chamamos de leitura ‘suja’ que é equivalente ao nível de isolamento READUNCOMMITTED.

Sabemos que em diversos casos o ‘Nolock’ pode nos ajudar bastante, já prestei serviços em ambientes que o uso do ‘Nolock’ é obrigatório, vamos ver um exemplo sobre seu uso.

Continuar lendo

Feliz Natal (Geometry)

Boa tarde pessoal, ano de 2016 está acabando e venho aqui desejar a todos um Feliz Natal e um próspero ano novo, que o ano de 2017 seja melhor que 2016.

Esse ano de 2016 pra mim foi de muitas mudanças, consegui evoluir muito profissionalmente, fiz diversos cursos muito bons, criei meu blog que já estava no papel há muito tempo, troquei de emprego que com certeza foi ótimo pra mim, mudei de cidade entre outras coisas boas que me aconteceram, assim como coisas boas algumas ruins também aconteceram, aliás a vida não é só de alegrias né, mas como um todo estou fechando o ano muito bem.

Deixo para vocês abaixo o meu Feliz Natal de uma maneira diferente:

Continuar lendo

PRINT só retorna no final da execução?

Bom dia Galera, hoje tenho uma dica rápida e vou falar sobre uma curiosidade do comando Print do SQL Server, há algum tempo atrás me surgiu uma dúvida, porém não fui pesquisar muito afundo no momento, hoje eu consegui pesquisar melhor e entender como funcionava de verdade, a dúvida era a seguinte:

As vezes precisamos depurar uma Store Procedure para identificarmos um determinado problema, para isso normalmente um dos primeiros passos da investigação é saber aonde esta ocorrendo o problema, em qual momento e qual a linha, para entendermos melhor o problema e pensar em uma solução, bom para quem já esta acostumado com a utilização de algum Debugger por exemplo do Visual Studio ou até mesmo do SQL Server sabe que podemos iniciar uma depuração e colocar alguns Breakpoints em pontos estratégicos para sabermos se o fluxo esta chegando até ali ou não, ou também podemos utilizar outra alternativa muito conhecida que é a função PRINT do SQL Server, colocar PRINTs em pontos estratégicos e acompanhar a saída durante a execução da procedure, bom é nesse ponto que queria chegar, vamos simular um ambiente e fazer alguns testes.

Continuar lendo

Comando KILL eterno ?

Bom dia Galera, esse vai ser meu primeiro Post técnico do blog espero que gostem do assunto.

Bom essa semana estive automatizando alguns processos que eram feitos manualmente, para isso uma das etapas era descompactar um arquivo .RAR(Winrar) que continha dentro dele um Backup do SQL Server (.bak), para posteriormente fazer o seu Restore, o comando que eu estava executando era o seguinte:

exec xp_cmdshell ‘C:\”Program Files”\WinRAR\WinRAR.exe x G:\Arquivos\Arquivos.pat001.rar G:\Arquivos\’

Continuar lendo