Script Challenge – 2019 – Post 15


Olá, bom dia comunidade…

Tudo bem? Quarta – feira dia 13/02 estamos no verão, sofrendo muito com este super calor que esta “queimando nossas cacholas”, mas hoje aqui em São Roque, amanheceu um dia bem diferente dos últimos, muito chuva, vento e temperaturas bem amenas, podemos dizer que aquele friozinho gostoso esta de volta.

Pois bem, sou suspeito a dizer sobre o frio, ainda mais por ser fã incondicional de temperatura baixas, devido a ter trabalhado muitos anos dentro de os mais variados datacenters de empresas e clientes suportando “aquelas” altas temperaturas de 16 ou 18 graus.

Mas o que esta mudança de tempo tem haver com este novo post da sessão Script Chalenge, bom na minha opinião tem tudo haver, ainda mais dependendo do situação e como diria um velho amigo meu “do nível da problemática da coisa” ele poderá aumentar ou diminuir a sua temperatura em pouso segundo, kkkkkk.

Introdução

Os posts publicados nesta sessão tem o objetivo de desafiar o visitante a descobrir o que um determinado script pode fazer ao ser executado, e não somente isso, mostrar como podemos aprender com o uso da linguagem Transact-SQL e sua vasta coleção de comandos, funções e instruções adicionadas a cada nova versão ou atualização do Microsoft SQL Server.

Se você ainda não conhecia a sessão Script Challenge, fique tranquilo vai ter a possibilidade agora mesmo, como também a cada 4 meses poder desfrutar de um novo desafio e sua respectiva resposta, por isso esta sessão é denominada Script Challenge(Script Desafio ou Desafio do Script), bom a melhor forma de traduzir eu deixo para você escolher.

Seguindo um frente….

Gostaria de destacar mais uma vez duas mudanças iniciais implementadas na sessão Script Challenge tendo como base o post publicado em outubro de 2017, sendo elas:

  1. Como maneira ou forma de dificultar ainda mais o nível de complexidade do código, o bloco de código que representa o Script Challenge selecionado para compor o post será  apresentado no formato de imagem ou figura; e
  2. Algumas partes das linhas de código, trechos, ou partes de código serão omitidas, justamente como forma de tornar este código ainda mais desafiador.

Antes de destacar o script de hoje, não custa nada saber um pouco mais sobre esta sessão, por este motivo, quero lhe contar um pouco da história que cerca os posts relacionadas a ela…

Um pouco de História

Esta é uma sessão criado no final do ano de 2010 e mantida mensalmente até meados de 2012, desde então não me dediquei mais a mesma devido principalmente em não conseguir identificar possíveis scripts dentro da minha biblioteca que poderiam ser apresentados como um scripts considerados como desafio para os profissionais da área de banco de dados.

Mas acredito que nos últimos anos com o crescimento do Microsoft SQL Server, seu nível de evolução, amadurecimento e recursos adicionais, como também, meu nível de experiência profissional e acadêmica também evolui muito, sinto-me preparado para retornar com esta sessão e poder de forma bastante técnica, didática e conceitual poder lançar um “desafio” e responder o mesmo com muito segurança.

Outro detalhe importante, esta é uma sessão que foi criada, pensando em apresentar pequenos blocos de códigos oriundos da linguagem Transact-SQL que possam apresentar um nível de dificuldade e conhecimento técnico um pouco mais elevado, exigindo assim uma análise mais profunda e até mesmo a criação um pequeno cenário de teste para seu entendimento.

Vamos então conhecer o bloco de código selecionado para ser o Script Challenge deste post.


Script Challenge – 15

O bloco de código Transact-SQL selecionado para fazer parte do Script Challenge de hoje, esta relacionado com uma importante atividade exercidas por Administradores de Servidores,  DBAs e Administradores de Banco de Dados.

Trata-se de algo que pode ajudar a identificar possíveis situações que venham a atrapalhar o processamento e execução de nossas querys e transações. Vale ressaltar que este script, não possui a finalidade de apresentar os custos de processamento que estão sendo demandados pelos processos em execução.

Vou dar uma pequena canja, sobre este desafio: O mesmo, pode ser executado em conjunto com as demais sessões, transações ou querys em execução, sem necessitar que qualquer procedimento de manutenção ou alterações na configuração do SQL Server para sua execução.

E ai, ficou curioso para saber o que este script realiza? Qual seria esta possível atividade? Mesmo assim, não vou lhe responder hoje, vou deixar que você quebre um pouco a sua cabeça, afim de tentar matar esta curiosidade, mas como não sou tão mal assim, no final do post como de costume vou deixar uma enquete para você expor sua opinião.

A seguir apresento o bloco de código:

Figura 1 – Short Script 15.

Muito bem, nosso Script Challenge esta apresentado. Você preparado para mais este desafio?

Tenho a certeza que sim!


Sua participação

Legal, agora quero conter com a sua participação, me ajudando a responder este post, outra grande novidade que estou adicionando aos posts da sessão Script Challenge será uma pequena enquete com possíveis respostas para identificar qual é a correta, relacionada com o desafio apresentado através do bloco de código selecionado para este post, desta forma, apresento a seguir a Enquete – Script Challenge – 15 e suas alternativas de resposta:

Seguindo em frente, já conhecemos o Script Challenge selecionado, sua enquete e relação de opções de resposta, fica faltando somente a sua participação, algo que eu tenho a certeza que vai acontecer rapidamente.

Durante quanto tempo posso participar…

Outra grande mudança na sessão Script Challenge é seu tempo de publicação “validade”, anteriormente os posts desta sessão eram publicados mensalmente ou bimestralmente, agora serão publicados em um período mais longo, ou seja, a cada 4 meses estarei compartilhando com vocês novos posts dedicados exclusivamente para esta sessão.

Desta forma, você terá mais tempo para participar e me ajudar e encontrar a resposta correta para este desafio, enviando suas possíveis sugestões, críticas e até mesmo alternativas de resposta para minha enquete.

Posts anteriores

Caso esta seja a primeira vez que você acessa um post desta sessão, fico muito feliz e aproveito para compartilhar os posts mais recentes:

https://pedrogalvaojunior.wordpress.com/2018/10/06/script-challenge-14-a-resposta/

https://pedrogalvaojunior.wordpress.com/2018/06/29/script-challenge-2018-post-14/

https://pedrogalvaojunior.wordpress.com/2017/10/26/script-challenge-2017-o-retorno/

https://pedrogalvaojunior.wordpress.com/2018/03/01/script-challenge-13-a-resposta/


Agradecimentos

Obrigado por sua visita, espero que post apresentado como um possível “desafio” possa ser úteis e ao mesmo tempo prover conhecimento, aprendizado ou mostrar recursos e problemas existentes no Microsoft SQL Server que as vezes parecem não ter uma resposta, ou são tratados com “bichos de sete cabeças”.

Um forte abraço nos encontramos em breve nas demais sessões e especialmente em junho de 2019 em mais um post da sessão Script Challenge, o qual apresentará a resposta para este post.

Sucesso, mais uma vez obrigado por sua visita, espero que você tenha gostado deste post.

Fique a vontade para conhecer demais publicados até o presente momento nas demais sessões.

Abraços.

Microsoft anuncia a realização da Build Conference para os dias 06 e 08 de Maio


Agora é oficial!

A Microsoft anunciou que seu grande evento o Build Developer Conference realizada anualmente será mais uma vez no mês de Maio especificamente nos dia 6, 7 e 8 em Seattle – Estados Unidos.

Da mesma maneira que ocorreu em 2018, os dias de realização do Build serão bem próximas aos dias que a Google Developer será realizada, marcada também para o mês de Maio, nos dias 7, 8 e 9.


Presidente Mundial da Microsoft Satya Nadella na abertura do Build Developer Conference 2018.

Espera-se que o Build 2019 tenha mais conversas da Microsoft sobre oportunidades de desenvolvedores usando o Azure e o Windows. Os rumores também sugerem que a Microsoft vai finalmente falar mais sobre o Windows Core OS, e pode até mesmo tirar os envoltórios da Microsoft próximos ao Windows Lite OS.

As inscrições para este grandioso evento se iniciando no dia 27 de Fevereiro, através do link –  Registration for Build 2019.

Fontes e Direitos Autorais: Windows Central – Zac Bowden – 06/02/2019.
Leia na integra acessando: https://www.windowscentral.com/microsoft-announces-build-developer-conference-may-6-8

Microsoft anuncia modo escuro no OneNote e melhorias na navegação


O OneNote é um programa de anotações incrivelmente popular da Microsoft que é usado por milhões de clientes em todo o mundo. Enquanto o OneNote apresenta uma variedade de ferramentas como a capacidade de desenhar, o mesmo ainda não se sente uma ferramenta  unificada ou até mesmo integrado com o sistema operacional de um certo modo.

Repare no seguinte cenário, observe que sempre ao acessar o OneNote, o mesmo apresenta um ambiente totalmente brilhante, isso ao longo do seu uso, pode tornar seu usabilidade um pouco cansativa, e não só isso, este brilho pode gerar possível danos as nossas retinas.

Desta maneira, o aplicativo é sempre incrivelmente brilhante, não importa se o seu sistema operacional é personalizado para ir fácil sobre os olhos. Felizmente, isso está prestes a mudar muito em breve.

De acordo com um relatório da aggiornamenti Lumia, a Microsoft está adicionando um tema escuro para o OneNote em seus próximas atualizações. Não é claro quando esse recurso será liberado, mas parece que ele já está rolando para um seleto grupo de insiders do Windows na atual fase de testes.

A Figura 1 abaixo ilustre o OneNote em modo escuro (Dark Mode):Figura 1 – Visual do OneNote em uso apresentando o Dark Mode.

Além do modo escuro, o OneNote parece estar recebendo navegação melhorada. Segundo o Vice-Presidente da Microsoft Laura Buttler informou em uma nota: “um novo conjunto de aprimoramentos foram adicionados, permitindo assim estabelecer a navegação melhorada”,  outros indícios destes possíveis aprimoramentos também foi encontrar em imagens recentes publicadas no Twitter.

Esperemos que as alterações irão tornar o OneNote ainda mais fácil de usar,  o qual está disponível em uma variedade de plataformas do Windows para o Mac, por isso é uma ferramenta bastante versátil.

Fonte e Direitos Autorais: Windows Central – Asher Madan  – 06/02/2019.
Leia na integra acessando: https://www.windowscentral.com/onenote-gets-dark-mode-and-improved-navigation-soon

Novos emojis adicionados ao Windows incluem representação de acessibilidade, flamingos e gesto de beliscar


Após longa espera a Microsoft adicionou novos emojis ao sistema operacional Windows. Nos últimos meses diversos usuários realizaram solicitações a Microsoft para que estas pequenas representações de sentimentos, expressões, e emoções fossem incluídas ao atual conjunto de “carinhas e símbolos” já existentes.

Desde a ascensão dos smartphones, os emojis deram aos usuários a capacidade de se expressarem de várias maneiras. Seja capturando as emoções ou descrevendo quem são, os emojis nos ajudam a fazer isso através de mensagens de texto e tweets.

Enquanto há um monte de emojis que atendem a um grande público, alguns grupos e culturas foram deixados de fora. Felizmente, isso está prestes a mudar de uma forma significativa em 2019.

De acordo com um relatório de Emojipedia, “a lista final do emoji para 2019 foi aprovada agora pelo consórcio de Unicode e inclui um total de 230 emojis novos que vêm às plataformas principais este ano.” Esta decisão inclui “adições previamente solicitadas, como um Flamingo, Otter, cão guia… Waffle, templo hindu, Sari, preguiça e mate. “no entanto, a maior mudança tem de ser a acessibilidade.

Os emojis como próteses, aparelhos auditivos, cadeiras de rodas e outros farão parte dessa expansão, a qual representam justamente falta uma simbolização relacionada com este grupo importante e diversificado.

Você pode ver todos os novos emojis na Figura 1 abaixo:

Figura 1 – Relação completa dos 230 novos emojis adicionados.

Novos emojis virão para iOS, Android, Windows, vários mensageiros como o WhatsApp, e plataformas Web como Twitter e Facebook em todo 2019. No entanto, tenha em mente que sua aparência e datas de lançamento irá variar de plataforma para plataforma. Isso pode causar alguns problemas se, por exemplo, um dispositivo iOS recebe esses emojis antes do Android.

Esperemos que no futuro ainda mais grupos, culturas e religiões possam ser representados em emojis. O vídeo abaixo apresenta de uma maneira animada e dinâmica a inclusão destes novos amiguinhos:

Além disso, se você sente que um Emoji em particular deve ser incluído, entre em contato consórcio de Unicode, apresentando uma proposta descrevendo o motivo e principalmente a importância deste “novo possível emoji” ser adicionado.

Fontes e Direitos Autorais: Windows Central – Asher Madan – 06/02/2019.
Leia na integra acessando: https://www.windowscentral.com/new-emojis-coming-windows-include-accessibility-representation-flamingos-pinching-gesture-and-more

Material de Apoio – Fevereiro 2019


Olá, muito bom dia….

Tudo bem? O mês de fevereiro já chegou, ainda não é carnaval no Brasil, mas para alegria e folia da garotada e de nós professores as aulas estão de volta (kkkkk).

Mesmo com toda esta loucura de volta as aulas, estou aqui mais uma vez procurando colaborar e compartilhar com a comunidade técnica em mais um post da sessão Material de Apoio dedicado exclusivamente ao meu blog.

Espero que você esteja gostando do conteúdo aqui disponibilizado, como também, possa me ajudar a torná-lo ainda melhor no decorrer do tempo com a sua participação.

O post de hoje

Seja bem-vindo a mais um post da sessão Material de Apoio, sendo o primeiro post da sessão em 2019 e de número 161 no total da mesma.

Para aqueles que já acompanham o meu blog a um certo tempo, os posts dedicados a sessão Material de Apoio, possuem o objetivo de compartilhar o conhecimento de recursos, funcionalidades e procedimentos que podemos realizar no Microsoft SQL Server.

Hoje não será diferente, estou trazendo alguns dos mais recentes scripts catalogados nos últimos meses, que atualmente estão compondo a minha galeria de códigos formada ao longo dos anos de trabalho como DBA e atualmente como Professor de Banco de Dados.

Neste post você vai encontrar arquivos relacionados com os seguintes temas:

  • Check List Diário;
  • Concatenar valores ;
  • Criptografia de Código Fonte;
  • Descriptografia de Código Fonte;
  • Disponibilidade de Ambiente;
  • DMV sys.dm_exec_procedure_stats;
  • DMV sys.dm_exec_query_plan;
  • Formatação de Valores;
  • Função Format;
  • Função Parse;
  • Ordem Crescente de dados;
  • Ordem Descrecente de dados;
  • Plano de Execução;
  • Querys;
  • Stored Procedure;
  • Stored Procedure sp_fixeddrivers; e
  • Texto.

Espero que este conteúdo possa lhe ajudar em seus atividades profissionais e acadêmicas. Por questões de compatibilidade com a plataforma WordPress.com, todos os arquivos estão renomeados com a extensão .docx ao final do seu respectivo nome, sendo assim, após o download torna-se necessário remover esta extensão, mantendo somente a extensão padrão .sql.

Material de Apoio

A seguir apresento a relação de arquivos  selecionados:

1 – Material de Apoio – Fevereiro 2019 – Relação das Querys mais pesadas em conjunto com plano de execução

2 – Material de Apoio – Fevereiro 2019 – Stored Procedure – CheckList Diário – Disponibilidade e Ambiente

3 – Material de Apoio – Fevereiro 2019 – Stored Procedure – sp_fixeddrives

4 – Material de Apoio – Fevereiro 2019 – Stored Procedure para Descriptografia de Stored Procedure

5 – Material de Apoio – Fevereiro 2019 – Stored Procedure – Exibir – Código Stored Procedure Criptografada

6 – Material de Apoio – Fevereiro 2019 – PARSE e FORMAT para alterar exibição de valores

7 – Material de Apoio – Fevereiro 2019 – Função – Formatação de Valores

8 – Material de Apoio – Fevereiro 2019 – Função – Concatenar valores em ordem decrescente

9 – Material de Apoio – Fevereiro 2019 – Função – Contar caracteres específicos dentro de um texto

10 – Material de Apoio – Fevereiro 2019 – Plano de Execução – Obtendo informações sobre Querys e Stored Procedures – sys.dm_exec_procedure_stats + sys.dm_exec_query_plan

Fique a vontade para copiar, editar, compartilhar e distribuir estes arquivos com seus contatos, aproveite se possível deixe seu comentário, críticas, sugestões e observações.

Nota: Todos os arquivos disponibilizados foram obtidos ou criados com autorização de seus autores, sendo estes, passíveis de direitos autorais.

Links

Caso você queira acessar os posts anteriores da sessão, não perca tempo utilize os links listados abaixo:

https://pedrogalvaojunior.wordpress.com/2018/12/18/material-de-apoio-dezembro-2018/

https://pedrogalvaojunior.wordpress.com/2018/10/30/material-de-apoio-outubro-2018/

https://pedrogalvaojunior.wordpress.com/2018/08/14/material-de-apoio-agosto-2018/

https://pedrogalvaojunior.wordpress.com/2018/06/19/material-de-apoio-junho-2018/

https://pedrogalvaojunior.wordpress.com/2018/04/05/material-de-apoio-abril-2018/

Agradecimento

Quero agradecer imensamente a sua visita, sinto-me honrado e orgulhoso de contar com a sua presença.

Não deixe de acessar os outros posts das demais sessões, o próximo post desta sessão será publicado no mês de abril, até lá, continue aproveitando cada momento da sua vida, desfrutando com muita sabedoria os momentos de galeria e também os desafios que são colocados ao seu redor.

Um forte abraço, muita saúde, sucesso e nos encontramos em breve.

Valeu.

Prepare-se, insiders: Windows 10 19H2 teste está chegando


Microsoft abriu nos últimos dias  inscrições para o Windows 10 Insider Skip Ahead ring,  permitindo que interessados em realizar testes para próxima atualização do Windows 10 realizem suas as matrículas antes do início dos testes.

Figura 1 – Twitter oficial do WindowsInsiders divulgado a aberta das inscrições.

Microsoft está começando a encerrar os testes nas atualizações atuais disponibilizadas para os  insiders que estão participando do 19H1, que provavelmente serão lançadas no decorrer deste ano.
A próxima atualização esta recebendo o codinome 19H2, mas ainda sem uma definição de data para ser lançada.
Se você estiver pronto para participar desta novo ciclo, faça sua inscrição diretamente pelo Windows acessando a tela de configuração e clicando em Atualizações e Segurança, por último na opção Windows Insider Program, conforme a Figura 2 a seguir ilustra:
Figura 2 – Opção Windows Insider Program existente na tela de atualizações e segurança do Windows 10.
Fontes e Direitos Autorais: Dan Thorp-Lancaster – Windows Central – 30/01/2019.
Leia na integra acessando: https://www.windowscentral.com/microsoft-opens-insider-skip-ahead-enrollments-windows-10-19h2-testing

O que é o Microsoft ‘ Windows Lite ‘ OS?


Falar de uma nova versão, leve do Windows tem sido cada vez mais comum desde o final do ano passado, principalmente após algumas referências ao  “Windows Lite ” terem aparecido dentro de um dos muitos Windows Insider Preview liberados regularmente.

Não demorou muito para o primeiro relatório surgir e apresentar alguns detalhes sobre o Windows Lite. A partir daí, entendemos que o Windows Lite vai ser o concorrente da Microsoft Chrome OS… assim como o Windows 10 S supostamente foi.

Windows Lite será ideal para você?

Isso levanta a questão, o que exatamente será esse “Windows Lite”? Esforços anteriores da Microsoft em tentar fazer uma versão do Windows 10 para o mercado do Chrome OS tem se aumentado ainda mais.

Um cliente querendo comprar um dispositivo Windows provavelmente está esperando que ele seja capaz de executar programas como Google Chrome e muitas outras aplicações Win32 que não estão Microsoft Store. Para a Microsoft ter a hipótese de fazer um sistema operacional que está equilibrado como o Chrome OS ou mais leve que o iOS , precisa cortar os laços com a marca Windows.

A diferença com Windows Lite, é que ele corta todos os laços com o que vamos esperar de um produto de “Windows”, muito que os rumores sugerem que Microsoft nem venha a fazer referência ao nome “Windows” quando provavelmente realizar seu anunciado oficial. 

Fazendo isso abre a Microsoft esta abrindo as portas em relação a capacidade do seu novo sistema operacional, ela estará na verdade evitando expectativas de disponibilidade do app, como também permitindo a própria empresa experimentar e se aventurar em um novo território, quando se trata de experiência do usuário.

Usuários do Windows vem para esperar uma barra de tarefas familiar e começar a combinação de botão e se afastar muito longe de que experiência causa problemas para os usuários. Caso no ponto: Windows 8. Não ligar para a nova versão do Windows deve ajudar a Microsoft a afastar isso.

Voltando à nossa pergunta inicial, que é de Lite para Windows? Simplificando, é para pessoas que não precisam de dispositivos com um Windows completo. É para as mesmas pessoas que estão olhando para o iPad com iOS e pensamento Sim, eu faço o que eu preciso fazer com algo assim. Mesmo para as pessoas que compram dispositivos de Chrome OS.

A Microsoft vai direto para esse mercado, o que eu gosto de chamar o mercado de “computação de luz”. Computação de luz é um dispositivo e experiência de sistema operacional que foi projetado para sair do modo e atender as necessidades básicas da maioria das pessoas usando um laptop ou tablet.

O que mais pode significar Windows Lite ?

Neste sentido, o Windows Lite muito provavelmente vai para ser um grande jogador na estratégia de educação da Microsoft, que também tem visto Chrome OS com este potencial.

A Microsoft não pode perder o mercado de educação para o Chrome OS e iOS, mas 10 Windows em si não é suficiente para competir mais nesta indústria, uuitas escolas querem uma plataforma que é simples e fácil de manter.

A web também é uma parte enorme do Windows Lite. Me disseram que muito esta sendo priorizar a web com suas experiências nos laços profundos neste novo sistema operacional. Eu não ficaria surpreso se a Microsoft anunciar um Windows Lite PCs como dispositivos que vêm com o gabinete de graça, ou Office web apps.

Windows Lite é tanto um competidor ao lado do Chrome OS como ele também está competindo com o Google Docs. Chrome OS e Google Docs estão amarrados juntos muito bem, e eu espero ver o mesmo com Lite Windows e Office Online. O Windows Lite é para usuários casuais, pessoas em educação e a multidão de computação luz.

Se você é alguém que verifica e-mail, escreve documentos, elabora planilhas, faz apresentações, ouve música, assiste a Netflix e navega Reddit, então Windows Lite, assim como o Chrome OS e o iPad, é para você.

É uma versão do Windows que está se esforçando muito para não ser Windows, e estou interessado em ver até onde a Microsoft leva essa ideia.

Fontes e Direitos Autorais: Zac Bowden – Editor Sênior no Windows Central – 30/01/2019.
Leia na integra acessando: https://www.windowscentral.com/who-windows-lite-going-be

Dica do Mês – Temporal Table e o Calor, uma combinação muito quente


Salve pessoal, bom dia.

Estamos no mês de janeiro, férias, sol, calor, chuvas, e para minha alegria te encontro mais uma vez no meu blog, caso esta seja a sua primeira visita ou acesso, fico mais feliz ainda, seja muito bem vindo.

Este é mais um post da sessão Dica do Mês, sessão dedicada a compartilhar bimestralmente dicas, novidades, curiosidades e demais assuntos, conteúdos e informações relacionadas ao Microsoft SQL Server, Banco de Dados e Tecnologias de Banco de Dados.

No post de hoje, quero compartilhar com vocês uma das funcionalidades adicionadas ao Microsoft SQL Server a partir da versão 2016 e que recentemente acabei conhecendo com um pouco mais, como você já pode notar no título deste post, estou fazendo referência as chamadas Temporal Tables (Tabelas Temporais).

Você já conhece? Teve a necessidade de utilizar? Eu particularmente falando conhecia muito pouco sobre este recurso, mas na semana passada neste período de férias tive a ideia de fazer uma brincadeira aqui em casa em conjunto com um termômetro, e justamente através desta brincadeira que utilizei uma temporal table.

Ficou curioso para saber como eu fiz uso dela? Calma, daqui a pouco eu conto mais sobre isso para você.

Pois bem, sem mais delongas, vamos em frente, vou tentar mitigar a sua curiosidade e ao mesmo também satisfazer os meus objetivos. Sendo assim, seja bem vindo ao post – Dica do Mês – Temporal Table e o Calor, uma combinação muito quente.


Introdução

A partir da versão 2016 do Microsoft SQL Server, a Microsoft introduziu o suporte para tabelas temporais de sistema baseadas no versionamento de dados como um recurso de banco de dados, sendo este,  uma funcionalidade que traz o suporte interno para fornecer informações sobre dados armazenados na tabela em qualquer ponto no tempo, ao invés de apenas os dados que é corretos no momento atual em está na hora.

Esta nova funcionalidade, também é reconhecida e trata como um recurso de banco de dados criado com base nos padrões em ANSI SQL 2011.

A partir do momento em que idealizamos fazer uso de uma tabela temporal, estamos criando um novo objeto ou transformando um objeto já existente em nosso banco de dados, em um elemento responsável em manter o histórico completo das alterações de dados ocorridos durante um período de tempo, sendo esta a principal finalidade de uso de uma temporal que é tratada internamento como um repositório de gerenciamento de tempo.

Cada tabela temporal tem duas colunas explicitamente definidas, cada um com um tipo de dados datetime2 , estas colunas são referidas como colunas de período, sendo período colunas usadas exclusivamente pelo sistema de registro prazo de validade para cada linha, sempre que uma linha for modificada. Além dessas colunas de período, uma tabela temporal também contém uma referência a outra tabela, a qual será utilizada como esquema espelho.

Por padrão o Microsoft SQL Server utiliza esta tabela para armazenar automaticamente a versão anterior de uma linha cada vez que a mesma na tabela temporal é atualizada ou excluída. Esta tabela adicional é referida como a tabela de histórico, enquanto a tabela principal que armazena versões de linha (real) atual é conhecida como a tabela atual ou simplesmente como a tabela temporal.

Importante ressaltar que durante a criação do quadro temporal, os usuários podem especificar a existência de uma tabela de histórico (deve ser esquema compatível) ou deixar o sistema criar tabela de histórico padrão.

Agora que já conhecemos um pouco do que é uma Temporal Table, vamos avançar mais um pouco em nossa caminhada, vou apresentar o porque tive a ideia de fazer uso deste recurso.

 

SEU FUNCIONAMENTO

Como já destacado anteriormente o sistema de controle de versão de uma tabela temporal é implementado através do uso de um par de tabelas, uma tabela atual e uma tabela de histórico. Dentro de cada uma destas tabelas, as seguintes duas colunas adicionais datetime2 são usadas para definir o período de validade para cada linha:

  • Coluna de início de período: O sistema registra a hora de início para a linha nesta coluna, denotado tipicamente como a coluna de SysStartTime .
  • Coluna de fim do período: O sistema registra a hora final para a linha nesta coluna, normalmente indicado na coluna SysEndTime .

A tabela atual contém o valor atual para cada linha. A tabela de histórico contém cada valor anterior para cada linha, se for o caso, e a hora de início e hora de término para o período para o qual foi válido.

A Figura 1 apresentada abaixo, ilustra de forma simples o funcionamento do sistema de controle dos dados aplicado a partir do uso de uma tabela temporal:

Temporal-HowWorks

Figura 1 – Funcionamento do sistema de controle de uma tabela temporal.

Este sistema de controle de versionamento dos dados é realizado sempre as instruções: Insert, Update, Delete ou Merge venham a ser realizadas de forma individual ou simultânea.

 

PORQUE UTILIZAR UMA TEMPORAL TABLE

Uma das coisas que eu aprendi a gostar no decorrer da minha carreira na área de tecnologia é a importância e as possibilidades de mudanças que um mesmo dado pode apresentar no decorrer de um período de tempo, este é um dos meus maiores prazeres entender o quanto aquele dado a uma minuto atrás agora já é outro dado e podem me trazer representar novas informações e conhecimentos.

Desta forma, ao analisarmos uma temporal table podemos também reconhecer ou fazer uso da mesma como uma Slowly Changing Dimension (Dimensão com mudanças lentas ou mudanças lentas em uma dimensão), o que vai nos possibilitar criar uma visão dos nossos dados com base uma período ou determinada data.

Uma outra funcionalidade que pode ser aplicada a uma temporal table se relacionada a controles de auditoria mais propriamente falando de auditoria de dados, normalmente as fontes de dados reais são dinâmicas e se tornam voláteis ao longo do tempo, para uma empresas isso pode influenciar diretamente em suas decisões as quais dependem de percepções que os analistas podem começar a identificar a partir da evolução ou mudanças de dados.

Já sabemos o porque escolhi fazer uso de uma temporal table, agora vou apresentar o cenário que me permitiu aplicar este recurso com base na minha ideia.

 

MINHA IDEIA

Estamos visando uma forte onda de calor em praticamente todo o Brasil, algo que muitos brasileiros adoram eu sinceramente não sou um destes brasileiros, pois eu não suporto estas altas temperaturas.

Para tentar de alguma maneira aprender algo de novo com este calor e tentando se distrair dentro das possibilidades, pensei em ter uma noção do quanto a temperatura aqui na minha casa localizada na cidade de São Roque interior do estado de São Paulo muda no decorrer de um período de tempo, sendo justamente esta a minha ideia de utilizar uma temporal table, talvez esta não tenha sido a melhor ideia ou até mesmo o melhor cenário para uso, mas entendo que pode ser uma possibilidade dentre as mais variadas possíveis.

Seguindo em frente e avançando mais um pouco, chegou a hora de colocar em prática a minha ideia, para isso vamos construir um simples cenário para fazer uso da Temporal Table.

NOSSO AMBIENTE

Como de costume vamos utilizar um ambiente isolado dos demais bancos de dados que você possa conter, desta maneira nosso cenário será constituído dos seguintes elementos:

  • Banco de Dados: DatabaseTemporalTabel;
  • Tabela Atual: TemporalTableTemperatura;
  • Tabela Historico: TemporalTableTemperaturaHistorico;
  • Colunas Temporais: DataHoraInicial e DataHoraFinal; e
  • Period For System formado por: DataHoraInicial e DataHoraFinal.

Criando o ambiente

Através do Bloco de Código 1 apresentado abaixo, vamos realizar a criação dos respectivos elementos destacados anteriormente:

— Bloco de Código 1 —

— Criando o Banco de Dados —
Create Database DatabaseTemporalTable
Go

— Acessando o Banco de Dados —
Use DatabaseTemporalTable
Go

— Criando a Tabela TemporalTableTemperatura —
Create Table TemporalTableTemperatura
(Codigo Int Identity(1,1) Primary Key Clustered,
Local Char(10) Default ‘Minha Casa’,
Cidade Char(9) Default ‘São Roque’,
DataAtual Date Default GetDate(),
HoraAtual Time Default GetDate(),
Temperatura TinyInt,
DataHoraInicial Datetime2 (0) GENERATED ALWAYS AS ROW START,
DataHoraFinal Datetime2 (0) GENERATED ALWAYS AS ROW END,
PERIOD FOR SYSTEM_TIME (DataHoraInicial, DataHoraFinal))
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.TemporalTableTemperaturaHistorico))
Go

A Figura 2 apresentada abaixo, ilustra a estrutura da tabela TemporalTableTemperatura e sua tabela espelho TemporalTableTemperaturaHistorico:

Figura 2 – Tabelas TemporalTableTemperatura e TemporalTableTemperaturaHistorico.

Observações

1 – Para que o Microsoft SQL Server reconheça uma tabela como Temporal Table as colunas temporais devem ser formadas pelo tipo de dados DateTime2 e logo após a declaração do seu tipo de dados informar as instruções:

  • Generated Always as Row Start – Valor gerado sempre no início da linha; e
  • Generated Always as Row End – Valor gerado sempre no final da linha.

2 – O controle do período dos valores é feito através da instrução PERIOD FOR SYSTEM_TIME, declarada obrigatoriamente no final da construção da tabela, formada pelas colunas que recebem os valores DateTime2.

3 – Ao declarar o nome da tabela a ser utilizada para o versionamento dos dados, é obrigatório informar o nome do ower ou schema a qual esta tabela irá pertencer, caso isso não seja feito o Microsoft SQL Server retornará a seguinte mensagem de erro:

Msg 13539, Level 15, State 1, Line 18
Setting SYSTEM_VERSIONING to ON failed because history table ‘TemporalTableTemperaturaHistorico2 is not specified in two-part name format.

4 – Ao informar a tabela que será utilizada para o versionamento dos dados o Database Engine realiza automaticamente a criação desta tabela histórico caso a mesma não exista.

Ótimo estamos no caminho certo, nosso próximo passo será abastecer a tabela TemporalTableTemperatura com dados iniciais e na sequência proporcionar alterações nestes mesmos dados iniciais para que o Database Engine faça uso da nossa Temporal Table registrando na Tabela TemperalTableTemperaturaHistorico todas as manipulações realizadas.

Para isso vamos utilizar o Bloco de Código 2 declarado abaixo:

— Bloco de Código 2 —

— Inserindo Dados na Tabela TemporalTableTemperatura —
Insert Into TemporalTableTemperatura (Temperatura)
Values (25)
Go

— Gerando um Delay de 20 segundos —
WAITFOR DELAY ’00:00:20′
Go

— Atualizando os dados na Tabela TemporalTableTemperatura —
Update TemporalTableTemperatura
Set Temperatura = 26,
HoraAtual = GetDate()
Go

— Gerando um novo Delay de 40 segundos —
WAITFOR DELAY ’00:00:40′
Go

— Atualizando os dados na Tabela TemporalTableTemperatura —
Update TemporalTableTemperatura
Set Temperatura = 27,
HoraAtual = GetDate()
Go

— Gerando um novo Delay de 1 minuto e 20 segundos —
WAITFOR DELAY ’00:01:20′
Go

— Atualizando os dados na Tabela TemporalTableTemperatura —
Update TemporalTableTemperatura
Set Temperatura = 27,
HoraAtual = GetDate()
Go

Até aqui tudo tranquilo, realizamos o processo de inserção de dados iniciais na tabela TemporalTableTemperatura e na sequência através do comando WaitFor forçamos a ocorrência de alguns delays (atrasos) de tempo para simular o aumento da temperatura como se fosse um termômetro realizando uma nova marcação, com isso, já temos neste momento um pequena porção de dados a serem consultados.

Vamos então executar o Bloco de Código 3 a seguir para identificar as possíveis maneiras de se consultar os dados armazenados em nossa temporal table:

— Bloco de Código 3 —

— Consultando dados na Tabela TemporalTableTemperatura —
Select * From TemporalTableTemperatura
Go

Após realizarmos o Select declarado acima teremos um retorno de dados similar ao apresentado na Figura 3 abaixo:
Figura 3 – Posição atual de dados armazenados na tabela TemporalTableTemperatura.

Observe que a coluna Temperatura apresenta o valor 27, número informado no último update realizado, a coluna DataHoraInicial apresentando o valor que representa o início da realização da última manipulação aplicada a tabela, no caso o comando Update e a coluna DataHoraFinal vai apresentar o valor final que representa o encerramento do período de controle de versionamento dos dados com o valor fixo e padrão 9999-12-31 23:59:59.

Pois bem, mas se quisermos então identificar ao longo do tempo todas as manipulação que podem ter ocorrido em nossa tabela temporal? É ai que entra em ação nossa tabela de espelho, nossa tabela TemporalTableTemperaturaHistorico, a qual é responsável em armazenar e controlar todo versionamento e alterações que venham a ser realizadas em nossa Temporal Table.

O próximo passo consiste na execução do Bloco de Código 4, o qual vai nos permitir consumir os dados temporais armazenados em nossa tabela TemporalTableTemperaturaHistorico:

— Bloco de Código 4 —

— Consultando dados Temporais, obtendo todas as manipulações realizadas —
Select * From TemporalTableTemperatura
For System_Time All — Apresenta todas as manipulações realizadas
Go

Figura 4 – Todas as manipulações realizadas na tabela TemporalTableTemperatura armazenadas de forma espealhada na tabela histórico TemporalTableTemperaturaHistorico.

Nota que a coluna DataHoraFinal apresenta na linha 1 o valor fixo e padrão 9999-12-31 23:59:59, mas no decorrer das demais linhas, de acordo com as operações realizadas os valores foram sendo atualizados, como podemos comprovar na linha 7 a qual apresenta o valor 2019-01-22 12:59:42.

Já estamos praticamente no final desta caminhada, nosso últimos passos consistem em realizar outras formas de consultar dados temporais, através das instruções:

  • For System_Time as Of;
  • For System_Time From ” To ”;
  • For System_Time Between ” And ”; e
  • For System_Time Contained In ().

Para realizar estas consultamos, vamos executar o Bloco de Código 5 apresentando abaixo:

— Bloco de Código 5 —

— Conhecendo outras formas de consultar dados temporais —
Select * From TemporalTableTemperatura
For System_Time as Of ‘2019-01-22 12:33:56’
Go

Select * From TemporalTableTemperatura
For System_Time From ‘2019-01-22 12:33:56’ To ‘2019-01-22 12:48:36’
Go

Select * From TemporalTableTemperatura
For System_Time Between ‘2019-01-22 12:48:36’ And ‘2019-01-22 12:58:22’
Order By Temperatura Desc
Go

Select * From TemporalTableTemperatura
For System_Time Contained In (‘2019-01-22 12:33:00′ ,’2019-01-22 12:55:00’)
Go

A Figura 5 a seguir apresentado o resultado tornado após a execução do Bloco de Código 5 declarado acima:Figura 5 – Resultados obtidos após a execução de cada comando select declarado no Bloco de Código 5.

Praticamente términos, mas quero finalizar este post com uma pequena amostra do quanto uma tabela temporal pode ser útil, imagine se excluirmos todos os dados da nossa tabela TemporalTableTemperatura.

O que aconteceria com os dados em nossa tabela espelho:

1 – Os dados seriam excluídos também?

2 – Os dados são mantidos?

3 – A tabela espelho será excluída?

4 – Não podemos remover dados em tabelas que utilizam versionamento de dados?

Bom, vou deixar o Bloco de Código 6 declarado abaixo, mas a respostas para esta pergunta você que vai descobrir e posteriormente publicar seu comentário aqui neste post:

— Bloco de Código 6 —

— Excluíndo os dados cadastrados na Tabela TemporalTableTemperatura —
Delete From TemporalTableTemperatura
Go

— Consultando dados na Tabela TemporalTableTemperaturaHistorico —
Select Local, Cidade, DataAtual, HoraAtual, Temperatura
From TemporalTableTemperaturaHistorico
Go

Com isso chegamos ao final de mais um post da sessão Dica do Mês, antes de encerrarmos, gostaria de contar com a sua participação neste post, respondendo a enquete abaixo:


Referências

https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-tables?view=sql-server-2017

https://en.wikipedia.org/wiki/Slowly_changing_dimension

https://docs.microsoft.com/en-us/sql/relational-databases/tables/creating-a-system-versioned-temporal-table?view=sql-server-2017

https://social.technet.microsoft.com/wiki/pt-br/contents/articles/12580.slowly-changing-dimensions.aspx

https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/relational-databases/tables/getting-started-with-system-versioned-temporal-tables?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/relational-databases/tables/system-versioned-temporal-tables-with-memory-optimized-tables?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-table-metadata-views-and-functions?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/waitfor-transact-sql?view=sql-server-2017

Posts Anteriores

https://pedrogalvaojunior.wordpress.com/2018/10/23/dica-do-mes-comando-restore-database-page-restaurando-paginas-de-dados-de-uma-tabela-no-microsoft-sql-server/

https://pedrogalvaojunior.wordpress.com/2018/07/26/dica-do-mes-ocultando-uma-instancia-em-execucao-do-microsoft-sql-server/

https://pedrogalvaojunior.wordpress.com/2018/04/25/dica-do-mes-sql-operations-studio-view-as-chart/

https://pedrogalvaojunior.wordpress.com/2018/03/14/dica-do-mes-microsoft-sql-server-2017-sql-graph-databases/

https://pedrogalvaojunior.wordpress.com/2018/01/24/dicadomes-sqlservertoolsuiteintroduction/

CONCLUSÃO

Como já destaquei em outros posts, a cada nova versão, atualização e correção a Microsoft transforma o SQL Server em um produto surpreende, ainda mais na sua capacidade e versatilidade de permitir aos profissionais de tecnologia, administradores de bancos de dados, programadores, entre outros, utilizar recursos nativos e também novos como ferramentas que podem nos ajudar a aplicar os mais variados possíveis cenários afim de obter soluções rápidas e práticas para nossas necessidades.

No post de hoje, mais uma vez isto foi constatado, o uso de novos recursos com base em funcionalidades já existentes se tornam ferramentas valiosas e de grande importância, podemos fazer esta relação com as tabelas temporais, funcionalidade que nos possibilita viajar, navegar, caminhar ao longo do tempo analisar e entendendo as mudanças ocorridas em nossos dados.

Desta forma, nos deparamos com uma poderosa ferramenta e sua gama de recursos que nos permitem realizar as mais diversas e variados preposições de análises de dados para identificarmos a melhor forma para se tomar uma decisão.

Este é o fantástico Microsoft SQL Server, produto tão fascinante que a cada dia eu não consigo deixar de querer estudar e conhecer mais ainda.

Agradecimentos

Agradeço a você por sua atenção e visita ao meu blog. Fique a vontade para enviar suas críticas, sugestões, observações e comentários.

Nos encontramos no próximo post da sessão Dica do Mês a ser publicado em breve.

Um forte abraço, sucesso, não se esqueça de se manter hidratado, passar bastante protetor solar para se proteger deste forte calor que estamos vivendo.

Até mais.

14 de Janeiro de 2020, marca o fim ciclo de vida e atualizações do Windows 7


Esta segunda-feira (14) marca uma contagem regressiva para o Windows 7. Isso porque a Microsoft irá parar de realizar qualquer tipo de atualização a essa versão do sistema operacional daqui a exatamente um ano.

A mudança é significativa, pois o fim do suporte oficial da empresa significa que eventuais novas falhas de segurança não serão corrigidas. Um número importante de usuários será afetado por essa virada, pois o Windows 7 é a segunda versão mais instalada do sistema operacional, perdendo apenas para o Windows 10 – até o início de 2018, era a mais usada.

Segundo a StatCounter, empresa que analisa dados, 34,49% dos computadores brasileiros utilizam o Windows 7, contra 56,19% do Windows 10. As informações correspondem a dezembro de 2018.

Já a Netmarketshare, outra companhia de inteligência de mercado, analisa que o Windows 10 só superou o Windows 7 no fim de 2018, com 39,22% e 36,9% dos usuários, respectivamente. A Microsoft afirma que esse fim de suporte está de acordo com o que a empresa se comprometeu: 10 anos de atualizações para o sistema operacional, lançado em outubro de 2009.

Na prática, o Windows 7 terá suporte por alguns meses depois de seu décimo aniversário, mas, quando 14 de janeiro de 2020 chegar, assistência técnica e atualizações automáticas deixarão de ser disponibilizadas para os computadores que utilizarem o Windows 7.

A empresa recomenda atualização antes da data limite, mas o preço para isso é salgado: R$ 559,99 para a licença mais barata do Windows 10.

Fontes e Direitos Autorais: Rodrigo Trindade – Do UOL, em São Paulo – 14/01/2019 13h46.

Novos modelos administrativos liberados pela Microsoft para Windows 10 October 2018 Update


No decorrer desta segunda semana de Janeiro, a Microsoft disponibilizou para download um novo pacote de Modelos Administrativos para o Windows 10 October 2018 Update (Windows 10 v1809),  arquivos com extensão .admx.

As ferramentas de Políticas de Grupo usam os Modelos Administrativos para preencher as configurações das políticas de forma mais rápida, isto permite que os administradores gerenciem configurações de políticas baseadas no registro.‎

Os arquivos .admx podem ser usados com o Group Policy Object Editor (gpedit.msc), o download inclui os Modelos Administrativos disponíveis para os seguintes idiomas:

  • Tcheco,
  • Dinamarquês,
  • Alemão,
  • Grego,
  • Inglês (Estados Unidos),
  • Espanhol,
  • Finlandês,
  • Francês,
  • Húngaro,
  • Italiano,
  • Japonês,
  • Coreano,
  • Norueguês,
  • Holandês,
  • Polonês,
  • Português (Brasil),
  • Português (Portugal),
  • Russo,
  • Sueco, e
  • Chinês.

Para realizar o download, clique na imagem abaixo:

Vale ressaltar que ao realizar o procedimento de download, será disponibilizado um arquivo com extensão denominado Administrative Templates (.admx) for Windows 10 October 2018 Update.msi, contendo todos os arquivos .admx disponíveis para este pacote de modelos administrativos.

Fontes e Direitos Autorais: Microsoft.com – Download Center – https://www.microsoft.com/en-us/download/details.aspx?id=57576

Windows 10 19H 1: novas alterações são reveladas


Microsoft está agora a trabalhar na próxima atualização para o Windows 10, codinome 19H característica 1 e programado para lançamento neste mês de abril. Esta atualização deverá incluir ainda mais mudanças, novas funcionalidades e mais refinamentos da interface do usuário e melhorias. Desenvolvimento deste lançamento é quase na marca do outro, ou seja, que não deve demorar muito tempo antes de 19H 1 é marcado como “característica completa” internamente e um foco na correção de bugs antes de lançamento começa.

  • Um novo tema de luz está disponível que fica na barra de tarefas, menu iniciar e outras áreas do Windows Shell branca.
  • Sombras estão agora presentes sob vários elementos de interface do usuário, incluindo menus de contexto do XAML e a janela pop-ups.
  • A tela de login agora apresenta efeitos de desfoque de acrílico.
  • O painel de Emoji é agora capaz de arrastar.
  • Emoji 12, Kaomoji e símbolos estão disponíveis no painel de Emoji.
  • Um novo ícone “globo” desconectado está presente na bandeja do sistema quando desconectado da internet.
  • Foco auxiliar irá agora automaticamente acender quando entrar em tela cheia em um aplicativo.
  • Você agora pode personalizar ações rápidas diretamente dentro do centro de ação.
  • Um novo controle de brilho está presente na área de ações rápidas no centro da acção.
  • O papel de parede padrão foi atualizado com cores mais claras e uma estética mais plana.
  • Ferramenta de recorte agora suporta recorte de janela para screenshotting fácil do windows app.
  • Iniciar e barra de tarefas saltar recurso de agora listas fluente projeto revelar e efeitos de desfoque.
  • Os poder e conta de menus no menu iniciar como inclui ícones.
  • O layout padrão do Start menu foi simplificado, agora usando uma única coluna, com uma configuração mais limpa.
  • Você agora pode desafixar grupos toda telha ao vivo no menu iniciar.
  • O ícone de arquivo Explorer agora é ligeiramente mais escuro se encaixar melhor com o tema luz.
  • Jogo de Bar foi atualizado com uma nova interface do usuário.
  • Nuvem de transferência interface do usuário foi ajustada para melhor uso de teclado e mouse de suíte.
  • Encontros amigáveis são agora o formato de data padrão no arquivo Explorer.

Pesquisa e Cortana

  • Pesquisa apresenta uma nova página de aterragem para atividades recentes e categoria da interface do usuário ao longo do topo.
  • Pesquisa e Cortana agora são separados.

Configurações

 

  • Homepage de configurações tem um novo banner personalizado na parte superior, que oferece acesso rápido a Microsoft Rewards, OneDrive, seu telefone e atualizações.
  • Os usuários podem agora tema o Shell do Windows separadamente do apps com um novo modo de cor personalizada.
  • Agora, você pode usar o aplicativo de configurações para definir configurações avançadas de Ethernet IP, incluindo configuração de endereços IP estáticos e configurações de servidor DNS preferenciais.
  • Gerenciador de tarefas agora irá dizer-lhe que os apps são dimensionamento por monitor ou pelo sistema.
  • Olá Windows configurações foram redesenhadas com uma experiência de usuário mais limpa.
  • Agora, você pode configurar uma chave de segurança diretamente nas configurações.
  • Um novo modo de pesquisa avançada fornece controle granular sobre arquivo pesquisando para aumento de desempenho.
  • Configurações de armazenamento foram atualizadas com um novo design e experiência de usuário mais limpa.
  • Agora, você pode desinstalar vários aplicativos de caixa de entrada mais incluindo:
    • Visualizador 3D.
    • Calculadora.
    • Calendário.
    • Música do sulco.
    • Correio.
    • Filmes & TV.
    • Pintura 3D.
    • Recorte & Sketch.
    • Notas autoadesivas.
    • Gravador de voz.
  • Um novo sistema de solução de problemas está presente e usa dados de diagnóstico enviados do seu PC para entregar um conjunto de correções de problemas que foram detectados no seu dispositivo de correspondência.
  • Microsoft agora irá recomendar uma correção quando o Windows detecta um problema.
  • “Correção de escalonamento para aplicações legadas” agora é ativada por padrão.
  • Atualização do Windows foi atualizada com um novo layout que traz várias funções, incluindo atualizações de pausa, horas ativas inteligentes e muito mais.
  • Horas de ativas inteligentes ajusta-se automaticamente seus conjunto ativas horas dependendo se mudam de suas horas de uso para evitar a falta de instalar uma atualização enquanto não interromper seu fluxo de trabalho.
  • Agora você pode sincronizar manualmente o relógio do sistema com a Microsoft para timekeeping exato.
  • Agora, você pode ajustar o tamanho do cursor.
  • Agora, você pode criar novas sem senha Microsoft Accounts com apenas um número de telefone.
  • Windows Enterprise 10 agora pode usar o reinício automático e Sign-On.
  • A experiência de redefinição de pin foi refinada.

Apps

  • Um novo aplicativo de escritório está presente e fornece acesso rápido aos seus documentos recentes e Office web apps.
  • O menu “Configurações e mais…” na borda agora pode quebrar fora da janela do aplicativo.

Diversas alterações

  • Corrigido um problema resultando no botão voltar em configurações e outros aplicativos, tornando-se o texto branco sobre um fundo branco se você pairou sobre ele.
  • Você agora pode ler ADLaM documentos e páginas da Web com a Windows jose fonte.
  • Um ícone de microfone está presente na bandeja do sistema quando o microfone estiver em uso.
  • Pressionando F4 quando no Editor do registro agora colocará o cursor no final da barra de endereço, expandindo a lista suspensa AutoCompletar.
  • Você pode agora ler frases próxima, atuais e anteriores no narrador.
  • Telex vietnamita e número baseada em chave teclados estão agora disponíveis.
  • Já está disponível para PC índicos fonético teclados.
  • Mais símbolos estão disponíveis sobre o teclado de toque.
  • Narrador agora irá alertá-lo quando você acidentalmente está digitando com Caps Lock ligado.
  • A caixa de diálogo impressão moderna agora suporta o tema luz.
  • O teclado de toque agora invisivelmente dinamicamente ajustar pontos para letras com base em como você digita.
  • Narrador tem uma nova experiência em casa que lhe permite lançar em características específicas do narrador.
  • Sandbox Windows vamos Pro e Enterprise usuários executados uma instância virtual do Windows 10 em cima de seu ativo instalam para testar apps.
  • Agora, você pode definir uma Tabulação padrão no Gerenciador de tarefas.
  • Agora você pode redimensionar o cursor através de um controle deslizante, com até 15 tamanhos diferentes para escolher.
  • 10 Windows Home usuários agora terá luz modo habilitado por padrão, depois de instalar um limpo. Windows 10 Pro e Enterprise continua a usar o modo escuro habilitado por padrão.

Fontes e Direitos Autorais: WindowsCentral.com – 07/01/2019 – Zac Bowden. https://www.windowscentral.com/windows-10-19h1-changelog

Você já ouvi falar na sigla AVIAO na área de banco de dados?


Olá pessoal, boa tarde.

Feliz Ano Novo, seja bem vindo ao primeiro post de 2019 do meu blog, que felicidade te encontrar aqui neste comecinho de ano, ainda mais após estes dias de feriados, festas, descansos e mesa farta (Graças a deus).

Pois bem, também estou tentando colocar meus pensamentos em ordem para redigir este post, tarefa bastante complexa de se realizar hoje, mas acredito que conseguirei.

Posso lhe garantir que este é um daqueles posts totalmente fora dos padrões que normalmente eu costumo utilizar nas sessões existentes neste blog, o conteúdo que você terá acesso no decorrer do mesmo, é resultado dos meus 25 (vinte e cinco) anos de carreira na área de tecnologia em abril deste ano, sendo que, deste totalmente de vinte e cinco anos, 19 (dezenove) deles estão totalmente envolvidos e relacionados com a área de banco de dados, tempo suficiente que me permitiu no ano de 2018 (recém encerrado no último dia 31 de dezembro) “criar” minha primeira sigla totalmente voltado para área de banco de dados, denominada AVIAO.

Antes de se aprofundar e conhecer o significado e como esta sigla foi criada, quero destacar o que me fez ter embasamento suficiente para idealização.


Um pouco de história não faz mal para ninguém

Diariamente nos deparamos com diversas situações, acontecimentos, circunstâncias, fatos e momentos que nos permitem ou apresentam um conjunto infinito de números ou até mesmos palavras que precisam demandar um pouco do nosso raciocínio afim de estabelecermos um possível cenário de entendimento e significado até chegarmos propriamente no reconhecimento do que aquele número ou palavra pode realmente nos ilustrar de significado, o que vai nos permitir então dizer que este conjunto infinito de números ou palavras podem representar um dado.

Mas como podemos definir este tão desconhecido “Dado ou Dados”?

Ao longo dos últimos 12 anos venho lecionando diversas disciplinas na área de banco de dados, entre as mais diversas instituições, faculdades, cursos e área de tecnologia, mas sempre me deparei em todos estes momentos e locais com a maior dúvida, como podemos definir ou afirmar que tal valor pode ser reconhecido como um dado ou informação?

Dados são fatos conhecidos, que podem ser registrados e possuem significado, o mesmo pode  ser definido como a matéria-prima ou o elemento básico para a geração de informações, é um elemento básico para um banco de dados.

Dado é Informação ou Informação é o Dado?

Eis a questão que constantemente me depare a cada inicio de semestre nas disciplinas básicas de banco de dados ou modelagem, e sempre respondo para meus discípulos (alunos): “Dado é tudo aquilo que existe no mundo real e nos permite atribuir ou obter um significado, algo que nos permita reconhecer um valor.”

Já a informação é justamente o valor, significado, atribuído ao dado, que nos estabelece um cenário de entendimento, reconhecimento, compreensão do que “este mesmo dado” quer nos dizer, quer nos revelar.

Então eu apresento o que chamo de Cadeia Evolutiva de um Dado, conforme ilustra a Figura 1 a seguir:

Figura 1 – Cadeia evolutiva de um dado.

Observe que todo e qualquer elemento que reconhecemos com um possível dado, o mesmo, passa por um conjunto de fases até se tornar verdadeiramente algo que nos ajude a tomar decisões e resolve em novos dados.

A Informação

Sabendo então que o dado é o estado anterior de algo que denominados constantemente como informação, o que exatamente pode ser definido ou entendido como informação? Vou tentar te responder de forma simples e objetiva:

A informação pode ser entendida com o dado com significado, passível de interpretação e de entendimento por parte de quem o usa, enfim, é o dado capaz de transmitir conhecimento para a ação ou para a tomada de decisão.

As empresas precisam armazenar os dados relevantes ao seu negócio de alguma forma controlada, organizada, integra e segura. A Tecnologia da Informação oferece recursos para atender a esta importante necessidade das empresas através de sistemas de informação que manipulam as informações da empresa que são armazenadas em um banco de dados.

Um sistema automatizado lida com tarefas comuns aos processos de negócios tais como: contabilidade, controle de estoque, compra e venda. A compreensão de que as informações mantidas por esses sistemas podem ser classificadas, organizadas e pesquisadas apoiando das atividades e tomada de decisões da empresa. Foi a partir deste momento que surgiu a ideia de um Sistema de Informações Gerenciais (SIG). A partir do momento em que os dados estão armazenados, ordenados e organizados, tinha-se a matéria prima disponível para análise por um sistema de suporte à decisão.

A tomada de decisão, ou preparação para o futuro, é a atividade central das organizações modernas. Sendo assim, o sucesso de uma empresa depende da boa tomada de decisão, e para isso a qualidade e disponibilidade dos dados é fundamental.

Sendo assim, todo que qualquer profissional independente da sua área de atuação que consiga reconhecer, entender e diferenciar Dado de uma Informação, estará sempre a frente.


E a sigla AVIAO, o que ela tem haver com estes elementos? Esta resposta eu lhe apresento a seguir:

A Sigla AVIAO

A necessidade de se estudar periodicamente esta cadeia evolutiva que um dado pode apresentar, principalmente estes dois primeiros elementos Dado e Informação, ou Dados e Informações que para muitos representam a mesma coisa, mas obrigatoriamente a maneira que eu sempre busquei, tentei e demorei um certo tempo para encontrar uma forma mais simples e direta visando transmitir para meus alunos como estes “amiguinhos” são tão significantes e importantes para a vida, fez com que eu busca-se de forma mais que constante definir um elemento único para em poucos minutos dizer que estava escrito em diversos livros, apostilas e apresentações.

Além disso, a conjunto de dúvidas, questionamentos e até mesmo críticas em minha abordagem durantes as aulas de Modelagem, Introdução a Banco de Dados, entre outras disciplinas de forma a se relacionar com a área de tecnologia se serviram como base e parâmetro para sua criação.

Como ela foi idealizada

Muito bem, mas posso dizer e garantir que a origem e criação desta sigla não ocorreu dentro de uma sala de aula ou laboratório, na verdade ela surgiu como boa parte das invenções e ideias criada pelo homem, foi em um momento que eu talvez não estivesse de corpo presente mas somente com a minha mente.

Eram quatro horas da manhã do dia 14/11, como sempre em véspera de provas de concurso ou processos de seleção eu tenho dificuldade para dormir, o sono fica leve, como também ansioso para que o tempo passe rápido, naquele mesmo dia eu tinha uma apresentação a ser realizada para um processo de seleção, esta apresentação teria três possíveis temas para serem escolhidos, todos relacionados a área de banco de dados, e eu queria achar uma maneira de tentar justamente resolver em uma única apresentação a junção dos três possíveis temas, foi então que virando várias vezes de um lado para outro e pensando em possibilidades que surgiu  sigla AVIAO, ela é recente, mas vem me orgulhando muito, pois me ajudou absurdamente a resolver sérias dificuldades acadêmicas e profissionais nos últimos dias, como principalmente facilitou o entendimento dos meus alunos.

Neste momento você estar fazendo basicamente estas duas perguntas:

1 – O que representa a sigla Aviao?

2 – Quais são as palavras que forma esta sigla?

Eis as respectivas respostas:

1 – A sigla AVIAO representa um conjunto de definições e características relacionadas diretamente com um dado e seu primeiro estado de evolução conhecido como Informação.

2 – As palavras que forma a sigla AVIAO são: Atomicidade, Veracidade ou Valor, Integridade, Autenticidade e Obrigatoriedade.

Para tentar lhe ajudar a entender melhor o quanto a sigla AVIAO pode lhe ser útil, vou descrever brevemente cada uma destas siglas:

  • Atomicidade: Característica que podemos atribuir diretamente a um dado que nos permite dizer se ele é atômico ou não atômico, ou seja, não divisível ou divisível em partes;
  • Veracidade: Característica que garante que o valor atribuído ou estabelecido para aquele elemento de dado pode ser tratado como algo correto, algo verdadeiro, confiável em sua essência e posteriormente para tomada de decisão;
  • Integridade: Propriedade que devemos estabelecer a um dado, quando estamos analisando a sua origem, ou seja, quem ou o que criou, armazenou ou até mesmo tratou tão conjunto de valores que nos permitem reconhecer como um dado. A integridade se relaciona com o quanto o mesmo o mesmo dado pode ser tratado como verídico, verdadeiro;
  • Autenticidade: Propriedade que nos garante o que valor ou algo que esta sendo apresentado e posteriormente reconhecido pelo dado, realmente é algo que pode existir ou coexistir no mundo real, no qual utilizamos como base as análises e aprendizados obtidos no mundo real, afim de reconhecer e fortalecer que aquele valor é autentico em sua essência, o que nos permite atribuir novos valores, trazendo assim a analise para geração de novos dados; e
  • Obrigatoriedade: Característica que atribuímos a determinados dados, a qual se relaciona com sua importância e posteriormente o quanto este dado pode representar de valor importante para tomada de decisão, ou seja, a obrigatoriedade tem como objetivo principal garantir a qualidade dos nossos dados, um dado que não é obrigatório não pode ser reconhecido, com um dado, verdadeiro, integro ou autentico, esta característica é essencial para definir se aquele dado deve ou não fazer parte de um estudo ou pesquisa.

Sendo assim, acabo de apresentar a sigla AVIAO que venho utilizando desde mês de novembro de 2018, nascida em uma madrugada de sono leve e ansioso devido a um momento importante que iria me deparar na manhã seguinte.


Conclusão

O conhecimento que aprendemos ao longo de nossas vidas é algo transformador, saber a cada dia reconhecer, entender, transmitir e aprender que este conhecimento é nosso dever, o que para muitos pode se tornar uma ameaça, medo ou receio.

Este mesmo elemento chamado de conhecimento, antes de mais nada é um valor ou melhor um dado que passou para algumas fases de evolução até ser reconhecido e tratado como possibilidade de se aprender, tal aprendizado que nos permite criar novos conhecimentos transformando e gerando novos valores.

Foi justamente desta forma, com base, nas minhas experiência profissionais e acadêmicas coletadas ao longo dos anos, reconhecendo e entendendo minhas limitações e dificuldades que me permitiram “criar” um elemento que representa em poucas palavras a junção de diversas conhecimento obtidos durantes anos.

Desta mesma maneira, estou fazendo com que a cadeia de evolução de um dado, continue visa, transformando e criando novos valores, afim de gerar um novo resultando, não deixando que o conhecimento mora comigo, com isso a sigla AVIAO tem me ajudado e transmitir mais facilmente conceitos básicos e de grande importância relacionados com a área de banco de dados e tecnologia.

Agradecimentos

Obrigado por sua visita mesmo primeiro post de 2019, espero que você tenha gostado do conteúdo aqui compartilhado e que o mesmo lhe sirva de inspiração para criar formas de se renovar e transmitir qualquer tipo de conhecimento mais facilmente.

Nos encontraremos nos outros 363 anos de 2019 nos mais variados posts do meu blog.

Um grande abraço, mais uma vez feliz ano novo.

Retrospectiva 2018 – Um ano muito diferente na minha vida


Alô você, boa noite…

Tudo bem? Eu estou bem, mesmo após estes últimos dias de comilança (“Festas de final de ano sempre abusamos um pouco.”).

Pois bem, este não um post dedicado a tecnologias ou produtos da Microsoft, ao contrário, a muito tempo venho pensando e criando coragem para elaborar um post que conte um pouco do meu trabalho, das minhas atividades acadêmicas e profissionais, como também da minha correria como MVP e MIE Expert nas ações e atividades promovidas pela Microsoft que eu estou sempre envolvido.

Introdução

Atribui o título de Retrospectiva, mas não sei bem se este post pode ser chamado ou intitulado desta forma, mesmo assim, vou dividir e até mesmo compartilhar com vocês minha rotina realizada nos 365 que se decorreram ao longo deste ano de 2018, sabendo que o ano ainda não acabou e que alguma coisa de diferente pode acontecer, sei que você que esta neste momento lendo este post entende e compreende o que estou dizendo.

De uma forma bastante simples, vou destacar mês a mês os posts aqui compartilhados, os eventos presenciais e online que participei (alias se eu for participar de todos que recebo convite, teria que se multiplicar em três ou quatros, sinceramente falando melhor são, pois um só já é bastante chato….kkkkkkk), palestras, atividades diárias nos fóruns MSDN e TechNet, Participação Mensal no Gallery TechNet, Participação Semanal no SQLServerCentral.com, bancas de TCCs e TGs, entre demais momentos que possa julgar importante.

2018 chegou e já passou, 2019 esta pedindo passagem…

Então, vamos lá, espero que de alguma forma você possa se sentir parte da minha vida no decorrer deste post, além de uma pequeno história do que aconteceu em cada mês, vou destacar os principais posts publicados no meu blog, como também os scripts que foram disponibilizados no Gallery TechNet e outras ações de destaque em outras mídias sociais, blogs e portais de tecnologia:

Janeiro

Começo de ano não é fácil, entrar novamente na rotina, se organizar após a festas de natal e ano novo é sempre complicado, mas em 2018 tudo começou bem cedo, compra dos uniformes escolares, materiais para volta as aulas, logicamente o aniversário da minha pequena Fernanda e sua nova oportunidade profissional, este foi um mês que mudou o decorrer do 2018.

Claro que não foi somente isso, pude descansar muito, voltar a ficar 30 dias em casa após o ano de 2017 de grandes mudanças profissionais, impactos financeiros e principalmente voltar a colocar minha consultoria de volta aos trabalhos foi bastante desgastante, conflitante e temoroso, mas a vida tem que continuar e já no segundo dia de 2018 publiquei o primeiro post do ano que me trouxe uma nova oportunidade de mostrar o meu trabalho.

Destaques:

#19 – Para que serve

Dica do Mês – SQL Setup ToolSuite Introduction

Microsoft SQL Server – Audit Events – Ocorrência de Restore Database

Microsoft SQL Server – Audit Events – Ocorrência de Backup Database

Fevereiro

Segundo mês do ano, voltamos ao trabalho, novas turmas, novos alunos, novos desafios e com ele sempre algumas mudanças, dentre elas o desafio de lecionar um pouco sobre IoT e principalmente Arduino (plaquinha danada de boa, mas que eu levei um tempinho para conhecer), tirando um pouco da tensão por trabalhar com este conteúdo, outro grande obstáculo a ser superado era a ideia de organizar um evento voltado para IoT na Fatec São Roque, evento que no mês de Junho você vai saber como foi.

Não posso deixar de citar o aniversário da minha pequena Malú.

Destaques:

Material de Apoio – Fevereiro 2018

Microsoft SQL Server – Audit Events – Find Errors for Sort Warnings

Microsoft SQL Server – Audit Events – Find Errors for Missing Column Statistics

Short Scripts – Fevereiro 2018 – Transaction Log

Março

Legal, chegamos no primeiro trimestre de 2018, agora sim o ano esta começando pois o carnaval acabou e com ele os “brasileiros” começam a pensar de verdade no que vão fazer no resto do ano (este não é o meu pensamento, mas sim um fato que a cada ano fica mais evidente), deixando um pouco de demagogia e até crítica de lado, um novo desafio se apresentava no decorrer deste mês, como aumentar ainda mais a audiência e visitação do meu blog que estava passando por um momento de turbulências, foi então que no dia 01/03 resolvi “ressuscitar” a antiga sessão que estava bastante esquecida no meu blog denominada Script Challenge (uma similaridade a sessões já existentes em outros blogs dedicados ao Microsoft SQL Server).

Estava também esperançoso para retornar ao mestrado, mais isso não aconteceu da forma que eu esperava, sendo assim, decidi voltar a me dedicar ao meu blog e tentar reconquistar novos seguidores em minhas redes sociais.

Essa não foi uma tarefa muito fácil, definir um novo formato, abordagem e até mesmo algo que trouxe-se mais visitantes ao blog sem conflitar com as sessões já existentes tomou um pouco do meu tempo, mas no final das contas de seu certo e no decorrer de 2018 outros posts desta mesma sessão foram publicados e em 2019 serão mais ainda.

O mês de março já estava acabando, parecia que tudo esta tranquilo, mas um situação bem fora do comum se apresentou, recebi informações da possível existência de um farsante como usuário dos fóruns do MSDN e TechNet aqui Brasil, e neste caso eu como moderador era responsável em tentar evidenciar e reportar o fato, foi então um momento muito incomum, contatar o profissionais da Microsoft localizados em Redmond em conjunto com meu MVP Leader Glauter Januzzi afim de monitorar este usuário, situação que somente no final deste ano conseguimos resolver.

Destaques:

Script Challenge – 13 – A resposta….

Dica do Mês – Microsoft SQL Server 2017 – SQL Graph Databases

Microsoft SQL Server – Audit Events – Identifying File Shrink Events

Microsoft SQL Server – Audit Events – Auto Database Growth Information

Abril

Mês um pouco mais de tensão e receios, este é o mês que passo pelo processo de análise e renovaçã anual como MVP, todas as minhas contribuições nos últimos 12 meses são sumarizadas, computadas, analisadas e principalmente ponderadas para que estabelecer um mínimo de relevância no meu trabalho que me permita ou não ser novamente reconhecido como MVP, mas esta história eu lhe como mais no mês de Julho, o que posso lhe dizer que entre Maio de 2017 e Abril de 2018 moderei mais de 8.700 dúvidas e posts publicados nos fóruns de SQL Server no Brasil.

Outro momento importante neste primeiro quartil do ano de 2018, foi a publicação de mais uma questão minha no maior portal dedicado ao Microsoft SQL Server, o SQLServerCentral.Com, em sua sessão QotD – Question of the Day, contendo um total de 666 visualizações e respostas.

Além disso, participei presencial do MVP.Conf, primeira conferência nacional dos MVPs da Microsoft realizada em São Paulo, tive a honra de levar os alunos da Etec São Roque neste evento, foi a maior caravana de estudantes presentes, um momento muito marcante na minha vida acadêmica.

Estava me esquecendo de destacar o aniversário da minha mãe (ela merece um post exclusivo por ter me aguentado em seu ventre) e o meu no dia 28.

Destaques:

Material de Apoio – Abril 2018

#20 – Para que serve

Microsoft libera Cumulative Update #6 para SQL Server 2017 RTM

Dica do Mês – SQL Operations Studio – View as Chart

Microsoft SQL Server – Audit Events – Adding and Finding Auto Statistics

Microsoft SQL Server – Audit Events – Find Errors for Missing Join Predicates

Manage the suspect_pages Table on SQL Sever 2017

Maio

O mês de maio foi bastante tranquilo, já começamos a se organizar para o final do semestre, este foi um período de 2018 que mais me deparei com demandas profissionais, foi um momento que tive a oportunidade de atender clientes em três localidades distantes ao mesmo tempo: Rio Grande do Sul, Bahia e Paraná isso me representou uma grande oportunidade e satisfação em poder demonstrar o meu trabalho em localidades geograficamente distantes da minha localidade.

Mas nem todos os momentos foram de alegria, neste mês me deparei com uma situação que a muito anos não vivenciava, o quanto algumas “pessoas” podem ser tão desonestas, a devido a uma situação que não vou detalhar mas que marcou muito que mudei brutalmente a minha forma de negociação e prestação de serviços, e não somente isso, me fez tomar a decisão de novamente interromper minhas atividades de consultoria na área de banco de dados para um período, fui buscar me aperfeiçoar, amadurecer profissionalmente como um empreendedor e dono do seu próprio negócio, mas nada de buscar ajuda do Sebrae ou algo parecido, fui na verdade conversar com pessoas que possuem seus próprios negócios aqui em São Roque para entender como eles sobrevivem, posso dizer que foi um momento de grande aprendizado.

A primeira decisão após este período sabático, mudar o nome fantasia da minha empresa, deixando de chamar Jr-Softwares para se tornar Galvão Tecnologia, momento de muito temor pois mudar o nome ou razão social não é tão simples.

Destaques:

Short Scripts – Maio 2018

Microsoft disponibiliza atualização cumulativa 7 para o Microsoft SQL Server 2017

#21 – Para que serve

Microsoft SQL Server 2016 SP2 – Atualização Cumulativa 1 disponível

Page considered Suspect in SQL Server 2017

Microsoft SQL Server – TempDB – Number of Reads and Writes

Microsoft SQL Server – TempDB – Monitoring space used by queries

Junho

Agora sim, estamos na metade do ano, 2018 esta voando, passando rápido, você se lembra que no mês de Fevereiro eu havia comentado do evento que estava ajudando a idealizar e organizar, pois bem, ele de fato aconteceu, o chamado 1º Encontro Tecnológico de Internet das Coisas foi devidamente no dia 26/06 com a presença de diversos profissionais de tecnologia da região.

Uma nova conquista também me foi conferida no decorrer do mês de Junho, a publicação de um Script de minha autoria no portal SQLServerCentral.com em sua sessão Scripts, honra e reconhecimento que aconteceu novamente no mês de Julho com um outro Script que me permitiu aprender muito.

Destaques:

Windows 10 IoT Core Services, nova versão do Windows 10 para dispositivos inteligentes

Material de Apoio – Junho 2018

Script Challenge – 2018 – Post 14

Entering random data into a table

Microsoft SQL Server-Comparative between sparse column and non-sparse column

Microsoft SQL Server – Identificar relacionamento lógico de registros em tabelas

Julho

Estamos virando a chave do ano, entramos na segunda metade de 2018, dois trimestres já se passaram, mês que me permitiu comemorar mais um reconhecimento como MVP sendo esta a minha décima primeira renovação anual consecutiva, meu décima segundo ano no programa como MVP e a partir desta renovação o MVP de Data Platform mais antigo do Brasil.

Continuando neste mês de conquistas, tive o prazer de compor as bancas de professores avaliadores dos trabalhos de graduação dos alunos do curso de Sistemas de Informação para Internet da Fatec São Roque.

Com destacado no mês de Junho, tive o reconhecimento de ter um novo Script de minha autoria publicado no SQLServerCentral.com, script que me possibilitou a troca de conhecimento com um dos maiores profissionais de banco de dados relacional do mundo Jeff Moden , agradeço muito a ele pela oportunidade de aprender.

Destaques:

Windows Server 2019 Preview build 17709 disponível para download

Microsoft SQL Server 2017 Cumulative Update 9 disponível

Dica do Mês – Ocultando uma instância em execução do Microsoft SQL Server

Microsoft SQL Server-Creating an annual calendar with holidays

Microsoft SQL Server-Identifying indexes that present duplicate columns

User Stored Procedure for Backup of user databases

Agosto

Meu deus, o segundo semestre chegou, este é o segundo quartil do ano, estamos próximos de terceiro trimestre de 2018, e como de costume mais um desafio é colocado na minha vida, voltar a lecionar uma das disciplinas que eu não trabalhava desde 2012 conhecida por muitos como Sistemas Operacionais, mas que para o Centro Paulo Paulo no curso de sistemas para internet é denominada Servidores e seus Sistemas Operacionais, tive que voltar a estudar, lêr os bons e tradicionais livres de Andrew Stuart Tanenbaum.

Não somente isso, voltar a estudar e praticar a administração de servidores Windows Server algo que eu sempre faço, mas o desafio era trabalhar de forma prática com Suse Linux, RedHat e Ubuntu, olha foram manhã de muito estudo e práticas para conseguir entregar algo de qualidade para meus pupilos, acredito ter feito da melhor forma possível.

Por outro lado, agreguei em minha coleção de disciplinas novas, um dedicada a área de gestão e negócios que esta totalmente relacionada com Banco de Dados, disciplina que mistura dado, informação, conhecimento e tomada de decisão com as possibilidades que as empresas podem ter a partir do momento que fazem uso de um banco de dados relacional e evoluem para um Data Warehouse.

Passado alguns dias, uma boa notícia, havia sido escolhido para a disciplina de Introdução a Criptografia no Mestrado da UFSCar em Sorocaba, mas devido a questões particulares tomei a decisão de não dar continuidade ao mestrado em 2018 e buscar uma nova oportunidade em outra instituição em 2019.

Um momento muito especial neste mês de agosto, foi a oportunidade de bater um papo com o MVP Leader Glauter Januzzi em umas das suas ações com líder dos MVPs, foi um momento impar e totalmente diferente, como também, poder fazer parte das ações de tradução de produtos da Microsoft, ação que eu já havia participado nos anos de 2008, 2009 e 2010, mas que agora tinha um objetivo diferente.

Outro momento muito importante que vivenciei no dia 03/08 a oportunidade de ter participado da Bienal do Livro em conjunto com minha esposa Fernanda, e conhecer alguns dos maiores nomes do Time de Hacking e Stem da Microsoft Corporation que estavam presentes nos estandes da Microsoft na Bienal.

Para fechar o mês, mais um reconhecido a fim conferido e ofertado pela Microsoft, agora na área de Educação, pelo segundo ano seguido foi nomeado MIE Expert – Microsoft Innovative Educator Expert for 2018-2019, prêmio me permitiu ter um engajamento ainda maior na área acadêmica.

Destaques:

Material de Apoio – Agosto 2018

#22 – Para que serve

Microsoft SQL Server 2017 – Cumulative Update 10

Windows Admin Center Preview v1808 disponível

Microsoft SQL Server-transaction relationship using Transaction Log

Microsoft SQL Server – Diferença básica entre operadores Rollup e Cube

Setembro

O mês de setembro, acredito que tenha sido o mais diferente do todos os outros que havia se passado em 2018, voltei a participar das reuniões mensais de MVPs realizadas pelo Glauter Januzzi, reuniões que também participei em Outubro, Novembro e Dezembro.

Tive a oportunidade de ter o meu nome destacou em neste reunião com um curador e mantenedor dos fóruns nacionais de SQL Server tanto no MSDN e TechNet, como também, me destaquei como um dos principais MVPs envolvidos no projeto de localização e tradução do termos, frases e palavras para os novos produtos da Microsoft.

Por fim no dia 06 o aniversário do Edu e no dia 28 do João Pedro, ambos meus “pequenos” garotos.

Destaques:

Short Scripts – Setembro 2018

Microsoft oficializa a disponibilidade geral do novo Office 2019

Microsoft SQL Server Data Tools v15.8.1 para Visual Studio 2017 liberado para download

Microsoft SQL Server – Informações sobre a execução de Jobs e Steps

Microsoft SQL Server – Obtendo o histórico de execução de jobs

Outubro

Segundo quartil de 2018 se apresenta, nele continuo minha caminhada semanal de respostas e moderadores de perguntas e dúvidas aplicadas no decorrer do ano nos fóruns MSDN e TechNet Brasil dedicados ao Microsoft SQL Server, ainda mais agora com esta responsabilidade de ser um curador ou mantenedor destas plataformas, atividade que tento fazer quase que diariamente mas requer tempo, cuidado e muito sensatez para diferenciar a dúvida da profanação.

Algo um pouco fora do comum acontece neste período, recebo solicitação de alguns participantes dos Fóruns para indicação como futuros novos MVPs, uma situação bastante fora do comum e até mesmo difícil de se resolver, mas como de costume deixou bem claro que não faço indicações pois cabe a própria Microsoft identificar seus futuros representantes.

Uma outra situação que também se apresenta neste mesmo momento, é a confirmação de um usuário dos fóruns brasileiros forjando a postagens de dúvidas e respostas, ou seja, ele mesmo postava e respondia com outro perfil somente para aumentar sua pontuação e se tornar líder no ranking, situação que como eu destaquei no mês de Março, deu muito trabalho mais conseguimos comprovar que era um mal elemento.

Fora tudo isso, tive a oportunidade de realizar a única palestra presencial de 2018 na 6ª Semana da Tecnologia da Fatec São Roque, com o tema: Introdução ao Data Mining aplicado em Business para Commerce, como também, a satisfação de conhecer pessoal dois grandes profissionais conhecedores de MongoDB: Leandro Domingues e Jhonatan de Souza Soares.

Para fechar o mês publico mais uma questão do dia para o SQLServerCentral.com, esta que até o presente momento ainda não foi publicada.

Destaques:

Microsoft divulga a disponibilidade do novo Microsoft Windows Server 2019

Microsoft Hyper-V Server 2019 disponível

Script Challenge – 14 – A resposta….

Microsoft confirma desativação dos protocolos TLS 1.0 e 1.1 para Microsoft Edge e Internet Explorer em 2020

Dica do Mês – Comando Restore Database Page – Restaurando páginas de dados de uma tabela no Microsoft SQL Server

Material de Apoio – Outubro 2018

Microsoft SQL Server – Identificando as querys com maior média de consumo de CPU

Microsoft SQL Server – Identificando o consumo de CPU por Banco de Dados

Novembro

Penúltimo mês de 2018 se apresentando para fazer parte desta história, em novembro tive a oportunidade de participar nos dia 19/11 e 28/11 das bancas de avaliação dos Trabalhos de Conclusão do Curso dos alunos da Etec São Roque, momento muito especial vivido no dia 28/11 na Câmara dos Vereadores de São Roque.

Por outro lado, foi no mês de novembro que alguns sustos e medos se apresentaram, minha esposa Fernanda teve alguns problemas de saúde se agravando, consultas com Neurologista, Ginecologista foram necessárias mas graças a deus tudo correu bem e no mês de dezembro tivemos boas notícias.

O final de semestre se aproximando e com ele o final de ano, a correria começando a aumentar devido aos prazos finais de para conclusão de notas, faltas, correção de provas, trabalhos, bancas de tccs e mais um evento a ser realizado na Fatec São Roque o qual eu estava totalmente envolvido.

No finalzinho do mês, passado alguns meses desde a última consultoria, decido retornar a minhas atividades de consultor, atualizo minhas apresentações, portfólio, página da minha empresa, cadastrados nos websites do governo, coloco novamente no ar a Galvão Tecnologia e passado dois ou três dias meu telefone particular toca, e um novo cliente se apresenta.

Destaques:

Próximas versões do Windows 10 poderão ter os codinomes Vanadium e Vibranium

Nova versão do Kit de Desenvolvimento Quântico da Microsoft

Microsoft SQL Server 2019 Preview 2.1 liberado

Short Scripts – Novembro 2018

Microsoft SQL Server 2014 SP3 liberado para download

Microsoft SQL Server – Identificando as contas que estão executando os serviços

Microsoft SQL Server – Monitorando os serviços através da XP_ServiceControl

Dezembro

E ai chegamos no último mês de 2018, último trimestre, último quartil, últimos 31 dias de um ano totalmente diferente dos demais 37 que eu já havia vivido, um ano totalmente dedicado aos estudos, tanto profissionais, acadêmicos, mas principalmente pessoais e espirituais.

Os primeiros 15 dias de dezembro foram muito, mas muito intensos, final de semestre chegou, tinha mais de 120 provas, trabalhos, listas de exercícios para serem corrigidos, terem suas notas validadas e lançadas, 21 bancas de trabalho de graduação para serem assistidas, bem como, o evento que encerrava uma das minhas disciplinas, aquela que eu comecei em 2018 e me dedicar mais afinco que envolvia IoT.

Pois bem, no dia 08/12 em conjunto com meus alunos do 4º Semestre de Sistemas para Internet, realizado o 2º Encontro Tecnológico de IoT da Fatec São Roque.

Neste mesmo período de dias aconteceram o Microsoft Ignite e o MVP Day em São Paulo, mas infelizmente não tive a oportunidade de participar destes eventos.

No dia 15 aniversário do meu herói, meu pai, completou mais um aninho de vida.

Desta forma, estou aqui neste momento finalizando este post no dia 27/12 ás 02:50hrs, tendo seu início no dia 26/12 ás 23:34hrs.

Destaques:

Aproximadamente 120 milhões de brasileiros tiveram seus números de CPF expostos de forma indevida na Internet

Quatro novos tema para Windows 10

Novos ícones para o Microsoft Office 365 são apresentados

Microsoft 365 Insider Program anunciado pela Microsoft

Material de Apoio – Dezembro 2018

#23 – Para que serve

Retrospectiva 2018 – Um ano muito diferente na minha vida

Microsoft SQL Server – Monitorando – Fila de disco em tempo real

Microsoft SQL Server – Alterando o valor mínimo de Memória RAM alocada

Conclusão

Talvez você que esta lendo este post, possa se perguntar: Não seria melhor ele ter feito uma retrospectiva destacando em números os resultados obtidos ou até mesmo o que ele alcançou?

A resposta para esta dúvida ou pergunta é muito simples NÃO. 

Pois muitos vezes os números podem ser mal interpretados, ou como eu costumo dizer para meus alunos, os números podem se tornar gelados, algo sem significado ou relevância para quer os identifica, análise, julga ou interpretar.

Procurei mostrar como minha vida no decorrer deste ano foi intensa, tenho a certeza que fatos, situações ou momentos foram esquecidos ou até mesmo deixados de lado, mas talvez a relevância do que aqui foi apresentado pode ilustrar o quanto temos de afazeres, responsabilidades e momentos de grande importância que nos permitem alcançar tudo aquilo que em algum momento sonhados ou desejamos para nossas vidas.


Agradecimento

Quero agradecer em muito a sua visita, sinto-me honrado em poder compartilhar um pouco do que fiz e produzi no decorrer de ano de 2018.

Felicidades, lhe desejo um final de ano fantástico e 2019 com muita saúde e paz.

Abraços.

#23 – Para que serve


Olá, bom dia, tudo bem? E ai preparado para festividades de final de Ano?

Seja bem-vindo a mais um post da sessão Para que Serve, sendo este o de número 23, mais um dia de muito começando, repleto de atividades e compromissos, ainda mais hoje sexta – feira e muito próximo ao Natal.

Mesmo no ritmo de fim de ano, tenho mantido a minha rotina, acordar bem cedo, para poder aproveitar da melhor maneira possível meu precioso tempo livre, colocando em prática algo que adoro fazer, publicar um post novo em meu blog mantendo a tradição de querer renovar e compartilhar as experiências e aprendizados adquiridos em minhas atividades profissionais e acadêmicas.

No post de hoje, vou compartilhar com você que esta acessando meu blog, uma nova opção adicionada diretamente aos bancos de dados que criamos a partir do Microsoft SQL Server 2016 que nos permite que seja utilizada de forma exclusiva no nível de banco de dados ao invés de aplicar diretamente no nível de instância.

Talvez você já possa ter utilizada esta nova opção, mas tenho a certeza que muitos dos profissionais que ainda não migraram seus ambientes para versões mais novas talvez não a conheçam, estou me referindo a opção AUTOGROW_ALL_FILES, que basicamente define no nível de banco de dados (Database Level) ao contrário do que acontecia nas versões anteriores que tínhamos a necessidade de ativar a Trace Flag T1117 que aplicava esta alteração de comportamento padrão no nível de instância (Server Level).

No decorrer deste post será realizado um pequeno comparativo entre as opções AUTOGROW_ALL_FILES e AUTOGROW_SINGLE_FILE, analisando seus comportamentos padrões, tendo como base um simples bloco de código inserindo 500.000 (Quinhentas mil linhas de registros lógicos) com dados fixos.

Adianto que esta análise comparativa em nenhum momento leva em consideração características de Hardware, versão de Sistema Operacional ou uso de uma aplicação específica. Na verdade o objetivo desta simples análise é elucidar que o uso destas  opções podem influenciar na maneira que o Microsoft SQL Server utiliza um ou mais arquivos de dados de forma proporcional ou simultânea.

Sendo assim, chegou a hora de conhecer um pouco mais sobre o post de número 23 da sessão Para que serve. Mas uma vez, bem vindo ao #23 – Para que serve – Opções de Bancos de Dados – AUTOGROW_ALL_FILES versus AUTOGROW_SINGLE_FILE.

Espero que você esteja animado para conhecer um pouco mais sobre esta propriedade, caso já conheça, continue lendo este post, sempre podemos aprender algo novo….


Introdução

Todo o banco de dados SQL Server tem, no mínimo, dois arquivos de sistema operacional: um arquivo de dados e um arquivo de log. Os arquivos de dados contêm dados e objetos como tabelas, índices, procedimentos armazenados e exibições.

Os arquivos de log contêm as informações necessárias para recuperar todas as transações no banco de dados, ao contrário dos arquivos de dados que podem ser agrupados em grupos de arquivos para propósitos de alocação e administração.

Os bancos de dados SQL Server possuem três tipos de arquivos, como mostrado na Tabela 1 a seguir:

Arquivo  Descrição 
Primário O arquivo de dados primário contém as informações de inicialização do banco de dados e aponta para os outros arquivos no banco de dados.
Dados do usuário e objetos podem ser armazenados neste arquivo ou em arquivos de dados secundários. Todo banco de dados possui um arquivo de dados primário. A extensão de nome de arquivo indicada para arquivos de dados primários é .mdf.
Secundário Os arquivos de dados secundários são opcionais, definidos pelo usuário, e armazenam dados do usuário.
Arquivos secundários podem ser usados para distribuir os dados entre os diversos discos, colocando cada arquivo em uma unidade de disco diferente. Além disso, caso um banco de dados exceda o tamanho máximo em um único arquivo Windows, será possível usar arquivos de dados secundários, assim, o banco de dados continuará a crescer.
A extensão de nome de arquivo indicada para arquivos de dados secundários é .ndf.
Log de transações Os arquivos de log de transações armazenam as informações de log usadas para recuperar o banco de dados. Deve haver, no mínimo, um arquivo de log para cada banco de dados.
A extensão de nome de arquivo indicada para arquivos de transação é .ldf.

Tabela 1 – Tipos de Arquivos que formam um banco de dados criado no Microsoft SQL Server.

Agora que já conhecemos os tipos de arquivos que podem compor um banco de dados, vamos conhecer um pouco sobre um outro importante recurso que esta diretamente relacionado a este post, os denominados Filegroups.

Filegroups

Quando objetos são criados no banco de dados sem especificar a qual grupo de arquivos eles pertencem, os objetos são atribuídos ao grupo de arquivos padrão. A qualquer hora, um grupo de arquivos é designado como o grupo de arquivos padrão.

Os arquivos no grupo de arquivos padrão devem ser grandes o suficientes para armazenar qualquer objeto novo alocado a outros grupos de arquivo.

O grupo de arquivos PRIMÁRIO é o grupo de arquivos padrão, a menos que seja alterado usando a instrução ALTER DATABASE. A alocação para os objetos de sistema e de tabelas permanece no grupo de arquivos PRIMÁRIO, e não no novo grupo de arquivos padrão. O SQL Server mapeia um banco de dados de um conjunto de arquivos do sistema operacional.

As informações de log e dados nunca ficam misturadas no mesmo arquivo, e os arquivos individuais são usados apenas por um banco de dados, os grupos de arquivos são conhecidos como coleções de arquivos e são usados para simplificar o posicionamento de dados e em tarefas administrativas, como operações de backup e restauração.

Crescimento de Arquivos de Dados

Ao criar um banco de dados, estamos estabelecendo o uso de uma ou mais áreas em disco rígido para alocar nossos arquivos de dados. Dentre as diversas opções e propriedades que podemos configurar no momento da criação de um novo banco de dados ou em sua alteração, nos deparamos com a propriedade FileGrowth, sendo esta responsável em estabelecer a forma ou método de crescimento que toda estrutura de arquivos de dados que formam nossos bancos deverá aplicar, escolhendo a método de rodízio (Round-Robin) na qual os arquivos vão sendo preenchidos de forma aleatória de acordo com a necessidade ou através do método Preenchimento Proporcional (Proportional Fill).

Chegou a hora de colocar a mão nos teclados, como de costume teremos um ambiente de testes a ser criado, o que será utilizado como cenário de estudos.

Criando o Ambiente

Em meu ambiente de estudos estou utilizando o Microsoft SQL Server 2017 Enterprise Edition – Cumulative Update 9 e Sistema Operacional Windows 10, fique a vontade para utilizar o melhor cenário possível dentro das suas necessidades, a partir da versão 2016 do Microsoft SQL Server.

Para realizar nossa simples prática, começaremos pela execução do Bloco de Código 1, responsável por criar a seguinte estrutura:

  • Databases: TesteDatabaseAUTOGROWSINGLEFILE; e TesteDatabaseAUTOGROWALLFILES;
  • Tables: TabelaGrowSingleFile; e TabelaGrowAllFile.

Importante: Destaco que os caminhos informados para criação dos referidos bancos e seus arquivos, estão apresentados de acordo com a configuração do meu ambiente, fique a vontade para alterar de acordo com suas necessidades e configurações.

— Bloco de Código 1 —
— Criando os respectivos bancos de dados  —

— Criando o Banco de Dados TesteDatabaseAUTOGROWSINGLEFILE —
Create Database TesteDatabaseAUTOGROWSINGLEFILE
On Primary
(Name= ‘TesteDatabaseAUTOGROWSINGLEFILE_Data’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWSINGLEFILE_Data.mdf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB),
(Name= ‘TesteDatabaseAUTOGROWSINGLEFILE_Data1’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWSINGLEFILE_Data1.ndf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB),
(Name= ‘TesteDatabaseAUTOGROWSINGLEFILE_Data2’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWSINGLEFILE_Data2.ndf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB)
Log On
(Name= ‘TesteDatabaseAUTOGROWSINGLEFILE_Log’,
FileName= ‘S:\MSSQL-2017\Log\TesteDatabaseAUTOGROWSINGLEFILE_Log.Ldf’,
Size=20 MB,
MaxSize=8192 MB,
FileGrowth=200 MB)
Go

— Criando o Banco de Dados TesteDatabaseAUTOGROWALLFILES —
Create Database TesteDatabaseAUTOGROWALLFILES
On Primary
(Name= ‘TesteDatabaseAUTOGROWALLFILES_Data’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWALLFILES_Data.mdf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB),
(Name= ‘TesteDatabaseAUTOGROWALLFILES_Data1’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWALLFILES_Data1.ndf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB),
(Name= ‘TesteDatabaseAUTOGROWALLFILES_Data2’,
FileName= ‘S:\MSSQL-2017\Data\TesteDatabaseAUTOGROWALLFILES_Data2.ndf’,
Size=10 MB,
MaxSize=4096 MB,
FileGrowth=100 MB)
Log On
(Name= ‘TesteDatabaseAUTOGROWALLFILES_Log’,
FileName= ‘S:\MSSQL-2017\Log\TesteDatabaseAUTOGROWALLFILE_Log.Ldf’,
Size=20 MB,
MaxSize=8192 MB,
FileGrowth=200 MB)
Go

Nota: Vale ressaltar que ambos os bancos de dados estão estruturados com a mesma quantidade de arquivos de dados e log, respectivamente 3(três) arquivos de dados e somente um único arquivo de log.

Muito bem, neste momento nossos bancos de dados estão criados e ambos contendo a mesma configuração para as propriedades: Size, MaxSize e FileGrowth, como também, configurados para que o crescimento ocorra de forma aleatória para os arquivos de dados.

Vamos validar nossa estrutura através do Bloco de Código 2 apresentado abaixo, o qual vai nos permitir identificar justamente as configurações que aplicamos no momento da criação dos referidos bancos de dados:

— Bloco de Código 2 —
Select DB_NAME() AS [DatabaseName], Name, file_id, physical_name,
(size * 8.0/1024) as Size,
((size * 8.0/1024) – (FILEPROPERTY(name, ‘SpaceUsed’) * 8.0/1024)) As FreeSpace
From sys.database_files
Go

Após executar o Bloco de Código 2, o Management Studio deverá apresentar o resultado similar a ilustrado na Figura 1 para ambos os bancos de dados:
Figura 1 – Informações sobre os bancos de dados seus arquivos, tamanhos e espaço livre ocupado.

Nosso próximo passo será forçar o crescimento dos nossos arquivos para o Banco de Dados TesteDatabaseAUTOGROWSINGLEFILE, observando o comportamento que o SQL Server vai utilizar, ressalto que estaremos fazendo a criação da tabela que utilizaremos como base para inserir os dados, para tal cenário vamos utilizar o Bloco de Código 3 apresentado a seguir:

— Bloco de Código 3 —
Use TesteDatabaseAUTOGROWSINGLEFILE
Go

— Criando a Tabela TabelaGrowSingleFile —
Create Table TabelaGrowSingleFile
(Codigo Int Identity(1,1) Not Null Primary Key,
Texto VarChar(100) Default ‘Grow Single File’,
Quantidade SmallInt Default 2018,
ValoresNumericos Numeric(8,2) Default ‘2018.12’,
DataAtual Date Default GetDate()+Rand()*30)
Go

— Inserindo a massa de dados —
Insert Into TabelaGrowSingleFile Default Values
Go 500000

A partir do momento que o Bloco de Código 3 é executado, o Microsoft SQL Server em conjunto com o SQL OS, Database Engine e Storage Engine, começam a fazer uso dos arquivos de dados, distribuindo em tempo real as páginas de dados conforme o método ou técnica escolhida para preenchimento dos arquivos de dados.

Para confirmarmos a alocação e distribuição destas páginas, vamos executar o Bloco de Código 4 apresentado abaixo em uma Nova Query e observar o resultado apresentado:

— Bloco de Código 4 —
Use TesteDatabaseAUTOGROWSINGLEFILE
Go

DBCC ShowFileStats — Comando que vai apresentar a distribuição de páginas de dados entre os arquivos
Go

Observação: Execute o comando DBCC ShowFileStats durante a execução do Bloco de Código 3, para que você possa obter um resultado similar ao apresentado na Figura 2 abaixo:

Figura 2 – Resultado apresentado pelo comando DBCC ShowFileStats.

No decorrer do processamento do Bloco de Código 3, podemos novamente o Bloco de Código 2 para identificar que neste momento o Microsoft SQL Server esta fazendo uso método de preenchimento dos arquivos de dados Round-Robin, no qual ele identifica qual seria o melhor arquivo para alocar a página, para confirmar este cenário a Figura 3 ilustra o resultado obtido de mais uma execução do Bloco de Código 2:
Figura 3 – Alocação dos arquivos de dados.

Observe a mudança de valores nas colunas Size e FreeSpace, como também, suas diferenças de valores em relação ao File_ID=1 para com os File_ID = 2 e 3, são justamente estas diferenças que nos orientam a entender que o Round-Robin esta sendo utilizado.

Estamos indo bem, falta um pouco para chegarmos ao final….

Nosso próximo passo se destina a alterar a forma de preenchimento e utilização dos arquivos de dados definidos para o Banco de Dados TesteDatabaseAUTOGROWALLFILES, e em seguida forçar o uso de cada arquivos e a distribuição de páginas. Vamos então executar o Bloco de Código 5 e sua sequência de passos:

 — Bloco de Código 5 —
— Alterando a definição de crescimento dos arquivos de Dados para o FileGroup Primary —
Use Master
Go

Alter Database TesteDatabaseAUTOGROWALLFILES
Modify FileGroup [Primary] AUTOGROW_ALL_FILES — Definindo o crescimento proporcional   para todos os arquivos de dados —
Go

— Acessando o Banco de Dados —
Use TesteDatabaseAUTOGROWALLFILES
Go

— Criando a Tabela TabelaGrowSingleFile —
Create Table TabelaGrowAllFile
(Codigo Int Identity(1,1) Not Null Primary Key,
Texto VarChar(100) Default ‘Grow All File’,
Quantidade SmallInt Default 2018,
ValoresNumericos Numeric(8,2) Default ‘2018.12’,
DataAtual Date Default GetDate()+Rand()*30)
Go

— Inserindo a massa de dados —
Insert Into TabelaGrowAllFile Default Values
Go 500000

Neste momento temos o banco de dados TesteDatabaseAUTOGROWALLFILES sendo utilizando, no qual sua estrutura de arquivos esta definida para ser utilizada de forma conjunto e proporcional, ou seja, conforme a necessidade de crescimento dos arquivos de dados, ao invés de um único arquivo ser invocado e ter seu valor de crescimento definido, todos os arquivos serão envolvidos e afetados, conforme a Figura 4 a seguir ilustra:
Figura 4 – Preenchimento de todos os arquivos de dados sendo realizado com base no uso da opção Grow_All_Files.

Estamos quase lá, para finalizar nosso estudos, vamos executar o Bloco de Código 6, o qual tem a finalidade de repetir a inserção das 500.000 mil linhas de registros em cada banco de dados e posteriormente forçar um crescimento para os arquivos de dados:

 — Bloco de Código 6 —
— Acessando o Banco de Dados —
Use TesteDatabaseAUTOGROWSINGLEFILE
Go

— Inserindo a massa de dados —
Insert Into TabelaGrowSingleFile Default Values
Go 500000

— Acessando o Banco de Dados —
Use TesteDatabaseAUTOGROWALLFILES
Go

— Inserindo a massa de dados —
Insert Into TabelaGrowAllFile Default Values
Go 500000

Note que para o Banco de Dados TesteDatabaseAUTOGROWSINGLEFILE o crescimento vai ocorrer no primeiro arquivo de dados e para no Banco de Dados TesteDatabaseAUTOGROWALLFILES este crescimento será aplicado a todos os arquivos, conforme apresenta a Figura 5 abaixo:
Figura 5 – Espaço ocupado pelos arquivos de dados após o crescimento ser ocorrido.

Para finalizar, compartilho a Figura 6 que apresenta a utilização dos arquivos de dados por parte do Storage Engine de acordo com o método de alocação e preenchimento dos arquivos de dados, respeitando a configuração dos bancos de dados aqui utilizados:

Figura 6 – Comparativo entre AutoGrowSingleFile versus AutoGrowAllFiles.

Importante: Observe que todos os arquivos de dados definidos para uso no banco de Dados TesteDatabaseAutoGrowAllFiles apresentam os mesmos valores para colunas Size e FreeSpace, cenário totalmente diferente para o banco de dados TesteDatabaseAutoGrowSingleFile, que ilustra a utilização de forma diferente dos arquivos de dados, no qual os arquivos File_ID=2 e 3 estão neste momento sem espaço livre, o que indica que o crescimento foi aplicado ao primeiro arquivo de dados.

Com isso, e sem mais delongas, chegamos ao final. Ufa deu um pouco de trabalho este post, como de costume, mesmo assim sempre vale a pena poder compartilhar um pouco do conhecimento e experiências adquiridas ao longo dos anos de trabalho como DBA e Professor.

Espero que você tenha gostado, eu posso dizer que sim, mas sua opinião é muito importante.


Referências

https://pedrogalvaojunior.wordpress.com/2017/01/23/12-para-que-serve/

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-file-and-filegroup-options?view=sql-server-2017

https://blogs.msdn.microsoft.com/psssql/2016/03/15/sql-2016-it-just-runs-faster-t1117-and-t1118-changes-for-tempdb-and-user-databases/

https://www.brentozar.com/archive/2014/06/trace-flags-1117-1118-tempdb-configuration/

https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-2017

https://www.sqlshack.com/understanding-sql-server-proportional-fill-algorithm/

http://www.sqlservercentral.com/scripts/Maintenance+and+Management/30218/

Links

Caso você ainda não tenha acessado os posts anteriores desta sessão, fique tranquilo é fácil e rápido, basta selecionar um dos links apresentados a seguir:

https://pedrogalvaojunior.wordpress.com/2018/08/22/22-para-que-serve/

https://pedrogalvaojunior.wordpress.com/2018/05/28/21-para-que-serve/

https://pedrogalvaojunior.wordpress.com/2018/04/12/20-para-que-serve/

https://pedrogalvaojunior.wordpress.com/2018/01/02/19-para-que-serve/

Conclusão

Conhecer a cada nova versão as mudanças e novidades aplicadas ao Microsoft SQL Server não é uma tarefa fácil, mas deixar de fazer uso delas pode em algum momento parecer falta de interesse ou até mesmo desconhecimento do potencial existente no produto.

Neste post, podemos conhecer esta nova opção Auto_Grow_All_Files, que nos permite aplicar uma nova maneira de orientar o SQL Server no uso, alocação e principalmente crescimento de nossos arquivos de dados, o que pode ou não impactar de forma direta na performance, contenção ou distribuição de recursos relacionados a disco rígido.

Em momento algum, o cenário aqui utilizado, muito menos a análise feita, teve o objetivo de comprovar qual forma de alocação e uso dos arquivos de dados é melhor, isso deve ser analisado para cada necessidade e ambiente.

Espero que o conteúdo aqui apresentado possa lhe ajudar a conhecer um pouco sobre como os arquivos de dados são importantes e úteis para nossos bancos, além disso, a importância de se utilizar mais de um arquivo de dados ou filegroups.

Este é o fantástico Microsoft SQL Server, que desde suas primeiras versões nos apresenta inúmeras possibilidades de se aprender, possibilitando usar o passado como fonte de inspiração para construção de um futuro melhor, por isso que a cada dia eu me apaixono ainda mais por este produto…

Vai SQL Server, Vai SQL Server….

Agradecimentos

Mais uma vez obrigado por sua ilustre visita, sinto-me honrado com sua presença, espero que este conteúdo possa lhe ajudar e ser útil em suas atividades profissionais e acadêmicas.

Um forte abraço, até o próximo post da sessão Para que serve a ser publicado no mês fevereiro de 2019.

Um grande abraço e ótima semana.

Valeu.