Contexto: Estou ministrando um treinamento in-company e preparando uma série de novas demonstrações para este cliente. Após escrever uma procedure que era para ser problemática, esbarrei em deadlocks mais interessantes do que eu havia planejado….
Gostei da brincadeira e resolvei compartilhar com vocês um deadlock art generator!
Algumas imagens da saída estão abaixo. Também coloquei no OneDrive um trace com alguns deadlocks que eu coletei.
A primeira ver que ouvi falar sobre deadlock art foi em um post do Catae (https://blogs.msdn.microsoft.com/fcatae/2010/03/18/deadlock-art/) que sempre cito no módulo de locking nos meus treinamentos.
Para reproduzir em seu ambiente, você vai fazer o seguinte.
1. Crie a procedure proc_Divertida no AdventureWorks2014
2. Utilizando o SQLQueryStress, mande 20/30 threads com 3/4 execuções “EXEC proc_Divertida;”
a. O número de threads/repetições você muda de acordo com seu interesse na arte. kkkk
3. Monitore o deadlock graph no profiler
HAVE FUN!
Abraços,
USE AdventureWorks2014
GO
IF OBJECT_ID('dbo.proc_Divertida') IS NOT NULL
DROP PROCEDURE dbo.proc_Divertida
go
CREATE PROCEDURE dbo.proc_Divertida
AS
DECLARE @OrderID INT = (CAST((RAND() * 100000) AS INT) % 30000) + 43659;
PRINT @OrderID
BEGIN TRANSACTION
UPDATE Sales.SalesOrderDetail
SET UnitPrice = UnitPrice
WHERE SalesOrderID = @OrderID
; WITH C AS (
SELECT (Quantity * ActualCost) AS LineTotal, PRODUCTID, TransactionDate
FROM Production.TransactionHistory
UNION
SELECT (Quantity * ActualCost), PRODUCTID, TransactionDate
FROM Production.TransactionHistoryArchive
UNION
SELECT (UnitPrice * OrderQty), SOD.ProductID, SOH.OrderDate
FROM Sales.SalesOrderDetail AS SOD
INNER JOIN Sales.SalesOrderHeader AS SOH
ON SOH.SalesOrderID = SOD.SalesOrderID
)
SELECT
C.ProductID,
YEAR(TransactionDate),
SUM(LineTotal)
FROM C
GROUP BY GROUPING SETS (ProductID, YEAR(TransactionDate), (ProductID, YEAR(TransactionDate)), ())
COMMIT TRANSACTION
GO
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
SELECT CAST (power(CrazyIdeas, Curiosity) * (RealLifeExperience + MyMistakes)) / FreeTime) AS VARCHAR(MAX)) FROM MyBrain WITH (NOLOCK, INDEX('idx_Neuron')) WHERE ThingsIThinkIKnow in ('SQL Server', 'DB2', '.NET', 'Cloud')
sexta-feira, 24 de junho de 2016
quarta-feira, 22 de junho de 2016
[SQLServerDF] Encontro XXXIII - SQL Server CPU Foundations
Na próxima semana temos mais uma apresentação do SQLServerDF, começando 18:30h.
NÃO é necessário confirmar participação através do SQLServerDF. De qualquer forma, incentivo a participação na nossa lista de discussão, então para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.
Data e horário: 29/06/2016, das 18:30h às 20:30h
Local: Xperts Trainning Center
Palestrante: Rodrigo Ribeiro Gomes
Título: SQL Server CPU Foundations
Descrição: Você sabe dizer o percentual de consumo de CPU que uma query ou procedure está consumindo? O que significa usar 100% de CPU? Esta apresentação irá apresentar conceitos básicos sobre o uso de CPU no Windows e como isso impacta na análise de queries de uma instância. Alguns trechos da apresentação podem ser conferidas no vídeo disponível em https://www.youtube.com/watch?v=mXF7NcJqX8M.
Mini-cv do palestrante: Há mais de 6 anos atuando com SQL Server, já implantou várias soluções de monitoramento, segurança e alta disponibilidade, além de atuar em diversos casos complexos que envolvem desde recuperar registros deletados sem qualquer backup até explorar e modificar estruturas internas do produto e do Windows para se recuperar de problemas ou otimizar o ambiente. Nas horas vagas, dedica-se um pouco a família e amigos, estuda alguma maluquice (ex.: como funciona o chuveiro elétrico) ou escreve em seu blog em www.thesqltimes.com.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
NÃO é necessário confirmar participação através do SQLServerDF. De qualquer forma, incentivo a participação na nossa lista de discussão, então para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.
Data e horário: 29/06/2016, das 18:30h às 20:30h
Local: Xperts Trainning Center
Palestrante: Rodrigo Ribeiro Gomes
Título: SQL Server CPU Foundations
Descrição: Você sabe dizer o percentual de consumo de CPU que uma query ou procedure está consumindo? O que significa usar 100% de CPU? Esta apresentação irá apresentar conceitos básicos sobre o uso de CPU no Windows e como isso impacta na análise de queries de uma instância. Alguns trechos da apresentação podem ser conferidas no vídeo disponível em https://www.youtube.com/watch?v=mXF7NcJqX8M.
Mini-cv do palestrante: Há mais de 6 anos atuando com SQL Server, já implantou várias soluções de monitoramento, segurança e alta disponibilidade, além de atuar em diversos casos complexos que envolvem desde recuperar registros deletados sem qualquer backup até explorar e modificar estruturas internas do produto e do Windows para se recuperar de problemas ou otimizar o ambiente. Nas horas vagas, dedica-se um pouco a família e amigos, estuda alguma maluquice (ex.: como funciona o chuveiro elétrico) ou escreve em seu blog em www.thesqltimes.com.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
terça-feira, 21 de junho de 2016
Treinamentos com Luti em Julho/2016
Pessoal, temos anúncio de treinamentos da Nimbus para o mês de Julho, comigo como instrutor:
•SQL23 Brasília (em definição)
O SQL23 não vai acontecer em Brasília, aos interessados, vejam possibilidade de participar do SQL23 em São Paulo.
• SQL22 São Paulo (http://www.srnimbus.com.br/calendario/sql22_spjulho2016/) - CONFIRMADO
•SQL23 São Paulo (http://www.srnimbus.com.br/calendario/sql23_spjul2016/)
Infelizmente o curso foi anunciado muito em cima da hora e não atingimos quórum mínimo.
Por conta de novos projetos que eu estou envolvido, eu NÃO tenho previsão de ministrar mais treinamentos em 2016 ou 2017, sendo que este intervalo pode se estender.
Então se você já tem vontade de fazer um treinamento comigo, porém vem adiando seus planos, meu conselho é que não deixe passar essa oportunidade…
Importante: os preços promocionais de R$ 1.500,00 serão mantidos!
E antes que perguntem, eu vou incluir algumas coisinhas do SQL Server 2016.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
•
O SQL23 não vai acontecer em Brasília, aos interessados, vejam possibilidade de participar do SQL23 em São Paulo.
• SQL22 São Paulo (http://www.srnimbus.com.br/calendario/sql22_spjulho2016/) - CONFIRMADO
•
Infelizmente o curso foi anunciado muito em cima da hora e não atingimos quórum mínimo.
Por conta de novos projetos que eu estou envolvido, eu NÃO tenho previsão de ministrar mais treinamentos em 2016 ou 2017, sendo que este intervalo pode se estender.
Então se você já tem vontade de fazer um treinamento comigo, porém vem adiando seus planos, meu conselho é que não deixe passar essa oportunidade…
Importante: os preços promocionais de R$ 1.500,00 serão mantidos!
E antes que perguntem, eu vou incluir algumas coisinhas do SQL Server 2016.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
segunda-feira, 30 de maio de 2016
SQL Server além do conceito volume 2
Essa é uma notícia requentada, já que o anúncio foi feito enquanto eu estava viajando, porém não poderia deixar de registrar aqui mais um feito entre amigos #sqlgeeks.
No ano passado 15 amigos se juntaram para montar um livro, que seria uma coletânea de capítulos sobre assuntos diversos, e claro, publicá-lo gratuitamente para toda a comunidade técnica. O resultado deste trabalho foi o lançamento do livro SQL Server Além do Conceito – Volume 2.
Você pode baixar gratuitamente o PDF do livro: https://onedrive.live.com/redir?resid=E145F7753042D628%216153
Caso prefira comprar na Amazon, o link é: https://www.amazon.com/SQL-Server-Al%C3%A9m-Conceito-Portuguese-ebook/dp/B01FVH1F3C
Obs: A Amazon não permite colocar um livro gratuitamente para sempre. Uma opção seria deixá-lo gratuito por 5 dias a cada 90 dias, porém, isso nos proibiria de publicá-lo em outro local. Sendo assim, decidimos publicar na Amazon com o menor valor possível ($1,99) e o valor arrecadado ( se houver ) será usado para bancar parte do jantar dos palestrantes no SQL SATURDAY SP.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
No ano passado 15 amigos se juntaram para montar um livro, que seria uma coletânea de capítulos sobre assuntos diversos, e claro, publicá-lo gratuitamente para toda a comunidade técnica. O resultado deste trabalho foi o lançamento do livro SQL Server Além do Conceito – Volume 2.
Você pode baixar gratuitamente o PDF do livro: https://onedrive.live.com/redir?resid=E145F7753042D628%216153
Caso prefira comprar na Amazon, o link é: https://www.amazon.com/SQL-Server-Al%C3%A9m-Conceito-Portuguese-ebook/dp/B01FVH1F3C
Obs: A Amazon não permite colocar um livro gratuitamente para sempre. Uma opção seria deixá-lo gratuito por 5 dias a cada 90 dias, porém, isso nos proibiria de publicá-lo em outro local. Sendo assim, decidimos publicar na Amazon com o menor valor possível ($1,99) e o valor arrecadado ( se houver ) será usado para bancar parte do jantar dos palestrantes no SQL SATURDAY SP.
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
quinta-feira, 26 de maio de 2016
[SQLServerDF] Encontro XXXII - Corrupção de dados e Perda Acidental
Na próxima semana temos mais uma apresentação do SQLServerDF, começando 18:30h.
NÃO é necessário confirmar participação através do SQLServerDF. De qualquer forma, incentivo a participação na nossa lista de discussão, então para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.
Data e horário: 30/05/2016, das 18:30h às 20:30h
Local: Xperts Trainning Center
Palestrantes: Gustavo Maia Aguiar e Rodrigo Ribeiro Gomes
Título: Corrupção de dados e Perda Acidental - Prevenção, Tratamento, Boas Práticas
Descrição: A eficaz administração de banco de dados zela para que todos os dados estejam disponíveis e protegidos para os usuários, aplicações e demais consumidores. Por mais cuidados que um ambiente possa ter, não raras às vezes o banco de dados pode sofrer incidentes que comprometam o seu conteúdo (e muitas vezes sem um ponto de restauração disponível).
Se alguma vez você já teve de lidar com corrupção de dados ou perda acidental em ambientes críticos ou tem curiosidade sobre as melhores formas de fazê-lo bem como prevenir que problemas dessa natureza ocorram, essa sessão poderá ambientá-los em técnicas que lidem com esse tipo de situação. São tratadas situações práticas de problemas e resolução
Mini-cv do Gustavo: Profissional entusiasta do mundo de banco de dados e armazenamento há mais de treze anos, trabalhou em várias empresas, escreveu vários artigos e ministrou vários treinamentos e consultorias e hoje atua em uma das maiores instituições financeiras do país como líder de banco de dados. Acostumado com ambientes de missão crítica e palestrante recorrente em eventos ligados a banco de dados e a tecnologias Microsoft. Nas horas vagas, usa o hobby de DJ e diverte-se com seus trabalhos publicados em https://www.mixcloud.com/gmasets.
Mini-cv do Rodrigo: Há mais de 6 anos atuando com SQL Server, já implantou várias soluções de monitoramento, segurança e alta disponibilidade, além de atuar em diversos casos complexos que envolvem desde recuperar registros deletados sem qualquer backup até explorar e modificar estruturas internas do produto e do Windows para se recuperar de problemas ou otimizar o ambiente. Nas horas vagas, dedica-se um pouco a família e amigos, estuda alguma maluquice (ex.: como funciona o chuveiro elétrico) ou escreve em seu blog em www.thesqltimes.com
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
NÃO é necessário confirmar participação através do SQLServerDF. De qualquer forma, incentivo a participação na nossa lista de discussão, então para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.
Data e horário: 30/05/2016, das 18:30h às 20:30h
Local: Xperts Trainning Center
Palestrantes: Gustavo Maia Aguiar e Rodrigo Ribeiro Gomes
Título: Corrupção de dados e Perda Acidental - Prevenção, Tratamento, Boas Práticas
Descrição: A eficaz administração de banco de dados zela para que todos os dados estejam disponíveis e protegidos para os usuários, aplicações e demais consumidores. Por mais cuidados que um ambiente possa ter, não raras às vezes o banco de dados pode sofrer incidentes que comprometam o seu conteúdo (e muitas vezes sem um ponto de restauração disponível).
Se alguma vez você já teve de lidar com corrupção de dados ou perda acidental em ambientes críticos ou tem curiosidade sobre as melhores formas de fazê-lo bem como prevenir que problemas dessa natureza ocorram, essa sessão poderá ambientá-los em técnicas que lidem com esse tipo de situação. São tratadas situações práticas de problemas e resolução
Mini-cv do Gustavo: Profissional entusiasta do mundo de banco de dados e armazenamento há mais de treze anos, trabalhou em várias empresas, escreveu vários artigos e ministrou vários treinamentos e consultorias e hoje atua em uma das maiores instituições financeiras do país como líder de banco de dados. Acostumado com ambientes de missão crítica e palestrante recorrente em eventos ligados a banco de dados e a tecnologias Microsoft. Nas horas vagas, usa o hobby de DJ e diverte-se com seus trabalhos publicados em https://www.mixcloud.com/gmasets.
Mini-cv do Rodrigo: Há mais de 6 anos atuando com SQL Server, já implantou várias soluções de monitoramento, segurança e alta disponibilidade, além de atuar em diversos casos complexos que envolvem desde recuperar registros deletados sem qualquer backup até explorar e modificar estruturas internas do produto e do Windows para se recuperar de problemas ou otimizar o ambiente. Nas horas vagas, dedica-se um pouco a família e amigos, estuda alguma maluquice (ex.: como funciona o chuveiro elétrico) ou escreve em seu blog em www.thesqltimes.com
Abraços
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
Assinar:
Postagens (Atom)




