Arquivo da categoria: Desafio do Gordo

SQLManiacs no Telegram

Pessoal,

Quero convidá-los a participar do grupo do SQLManiacs no TELEGRAM para que possamos discutir ainda mais sobre o SQL Server e o Azure.

Caso tenha interesse em participar, basta acessar o link abaixo:

SQLManiacas – Telegram

Não deixem de inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

DESAFIO DO GORDO – Azure SQL Database

Galera,

Hoje teremos nosso primeiro desafio falando sobre Azure SQL Database e quero saber de vocês o seguinte:

Quais são os Service Tiers disponíveis no Azure e qual a diferença entre eles?

Espero a participação de todos em mais este desafio e aproveite também para inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

SOLUÇÃO DO DESAFIO DO GORDO – Como funciona o backup diferencial?

Fala galera,

Antes de mais nada quero agradecer novamente a todos que participaram do último Desafio do Gordo e dizer que todos acertaram sobre o funcionamento de um backup diferencial no SQL Server.

Para que o SQL Server seja capaz de fazer o backup apenas das extents alteradas ou criadas desde o último backup FULL, é necessário identificar quais as páginas que mudaram.

A identificação destas extents é realizada através de um bitmap chamado Diferencial Changed Map ou DCM.

Ao iniciar o backup diferencial o SQL Server consulta o DCM e copia somente as extents listadas nesta página, conforme ilustrado na Figura 1.

SQL-differential-backup-bitmap-page-1
Figura 1 – Verificando o DCM durante o backup diferencial

É importante ressaltar que durante o backup full é realizada a limpeza da DCM para que a mesma possa ser utilizada para os próximos backups diferenciais.

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

DESAFIO DO GORDO – Como funciona o backup diferencial?

Galera,

Neste novo DESAFIO DO GORDO quero desafiá-los com uma pergunta sobre backup.

Quero saber como o SQL Server consegue identificar quais foram as páginas de dados alteradas desde o último backup full e que precisam ser gravadas no backup diferencial?

Não esqueçam também que nesta quinta-feira (24/03), à partir das 19:00, teremos mais uma reunião do SQLManiacs.

A reunião ocorrerá novamente na DoMore que fica localizada na Avenida Paulista, 807 – 18º andar e o tema será Entendendo aplicabilidade do Big Data e Data Science em cenários reais.

Espero a participação de todos em mais este desafio e também na reunião.

Aproveite também para inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

SOLUÇÃO – DESAFIO DO GORDO – Quais recursos podem sofrer DEADLOCK?

Galera,

Quero agradecer pela participação de todos no último DESAFIO DO GORDO e dizer também que a cada desafio me surpreendo mais com o interesse de vocês em conhecer o SQL Server de forma avançada.

Praticamente todos que enviaram sua resposta acertaram quais os recursos que podem sofrer com o DEADLOCK.

A intenção desse desafio foi mostrar que o processo de deadlock pode ocorrer com outros recursos além dos objetos de bancos de dados (tabelas, linhas, páginas e etc).

Os recursos que podem sofrer com o deadlock são os seguintes:

  • Worker Threads – Uma solicitação em fila que está aguardando por um worker e a mesma possui bloqueios em objetos solicitados por outros workers então pode ocorrer um deadlock;
  • Memoria – Quando requisições concorrentes estão aguardando por memória RAM e essa solicitação de memória RAM não é atendida, uma das requisições pode sofrer o deadlock;
  • Execução em paralelo de uma consulta (Paralelismo) – As múltiplas threads podem acabar bloqueando-se em algum momento e causar o deadlock;

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.

 

DESAFIO DO GORDO – Quais recursos podem sofrer DEADLOCK?

Galera,

No desafio de hoje quero fazer uma pergunta sobre DEADLOCK e espero que todos vocês participem.

Gostaria de saber quais recursos podem sofrer com o DEADLOCK em um ambiente de banco de dados SQL Server além dos objetos de bancos de dados e quando esses DEADLOCKs podem acontecer?

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.

 

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.

DESAFIO DO GORDO – The Column is 80 percent full

Galera,

Nesta edição do Desafio do Gordo quero que ajudem-me a identificar a causa deste warning em uma instância de SQL Server:

[WARNING] 2015-11-16 18:00:01.74 spid471 The column CodCli in Table [Cliente] on Database [DBTeste] is 80 percent full

Apenas para ajudá-los no diagnóstico, a coluna CodCli é do tipo INT e possui a propriedade IDENTITY ligada.

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.

DESAFIO DO GORDO – Numa Node X MaxDop

Galera,

No vídeo de hoje quero discutir com vocês qual a relação da arquitetura NUMA e a propriedade MAXDOP de uma instância de banco de dados SQL Server.

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.

DESAFIO DO GORDO – Numa Node X MaxDop

Galera,

Recentemente recebi um email com uma pergunta bem interessante sobre qual a melhor maneira de definirmos a propriedade Max Degree of Parallelism (MAXDOP) em uma instância de banco de dados SQL Server.

Quero propor então que essa pergunta faça parte de mais um DESAFIO DO GORDO!!!!!!!!

Como vocês definem a quantidade de processadores na propriedade MAXDOP?

Conto com a participação de todos nos comentários e também não deixem de inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.