Script Challenge – 2021 – Post 18

Mais um Script desafiador! Venha me ajudar a vencer mais este desafio.

Salve, salve galera, bom dia…

Estou retornando com mais um post dedicado com muito carinho a sessão Script Challenge, neste início do mês de Fevereiro de 2021, como o tempo tem passado rápido, mesmo nesta loucura de pandemia que ainda estamos vivendo.

Olha, só para dar aquele gostinho na boca, posso dizer que o post de hoje vai requerer de você meu caro visitante um pouco de conhecimentos matemáticos, vamos usar algumas funções que particularmente aprendi já fazem um bom tempo, mas que de vez em quando acabam aparecendo novamente.

Mantendo a tradição, antes de você conhecer um pouco sobre o código fonte compartilhado no Script Challenge de hoje, vamos conhecer um pouco mais sobre os posts publicados especialmente para esta sessão.

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.

Vamos um frente….

Gostaria de destacar dois pontos importantes apresentados para os posts publicado nesta sessão:

  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 profundada 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 – 18

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

Não deveria, mas vou lhe ajudar, apresentando duas dicas sobre este desafio

  1. Conforme eu já havia destacado, para este post vamos utilizar algumas das tradicionais funções matemáticas, dentre elas a função PI(); e
  2. Alguns elementos que formam o código fonte, estão relacionados com coordenadas geográficas, algo que nos dias de hoje nossos dispositivos móveis utilizam com grande frequência.

Ufa, acho que já falei demais. Então, ficou curioso para saber o que este script realiza?

Pois bem, vou fazer o papel de chato mais uma vez (kkkkkkk), a resposta para estas e outras demais questões não serão apresentadas hoje. Quero que você quebre um pouco a sua cabeça, afim de tentar matar esta curiosidade, no final do post compartilho com você a enquete criada para tentar lhe ajudar a encontrar a resposta que representa a solução deste desafio.

A seguir apresento o bloco de código:

Figura 1 – Short Script 18.

É isso aí, nosso Script Challenge esta apresentado. Você está preparado para mais este desafio?

Torço e espero que sim, não é mesmo…..


Sua participação

Bom agora quero contar com a sua participação, me ajudando a responder este post, como já é de seu conhecimento, os posts da sessão Script Challenge possuem uma pequena enquete com as possíveis respostas, sendo que normalmente existe uma única opção correta, relacionada com o desafio apresentado através do bloco de código selecionado para o respectivo post, desta forma, apresento a seguir a Enquete – Script Challenge – 18 e suas alternativas de resposta:

Para esta enquete você poderá escolher mais de uma resposta como forma para tentar identificar a possível solução ao nosso desafio.

Em suma, 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, bimestralmente ou quadrimestralmente, mas a partir deste post, os próximos serão publicados em um período mais longo, ou seja, a cada 6 meses estarei compartilhando com vocês novos posts dedicados exclusivamente a esta sessão.

Desta forma, você terá mais tempo para participar e me ajudar e encontrar a resposta correta para este desafio, enviando suas 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/2020/11/13/script-challenge-17-a-resposta/

https://pedrogalvaojunior.wordpress.com/2020/06/25/script-challenge-2020-post-17/

https://pedrogalvaojunior.wordpress.com/2020/03/17/script-challenge-16-a-resposta/

https://pedrogalvaojunior.wordpress.com/2019/10/26/script-challenge-2019-post-16/

https://pedrogalvaojunior.wordpress.com/2019/06/26/script-challenge-15-a-resposta/

https://pedrogalvaojunior.wordpress.com/2019/02/13/script-challenge-2019-post-15/


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, tratados com “bichos de sete cabeças”.

Um forte abraço nos encontramos em breve nas demais sessões, em especial no próximo post da sessão Script Challenge, o qual apresentará a resposta deste desafio que acaba de ser lançado.

Fique a vontade para conhecer os demais post publicados até o presente momento em todas as sessões do meu blog.

Até mais.

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP – Faculdade de Informática e Administração Paulista de São Paulo. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação pela Uninove – Campus São Roque. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1994 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator – Administrador de Banco de Dados – SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, entre outros recursos. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping, etc. Trabalhei entre 2011 e 2017 como Administrador de Banco de Dados e Coordenador de TI no FIT – Instituto de Tecnologia da Flextronics, atualmente exerço a função de Professor Universitário na FATEC São Roque. CTO da Galvão Tecnologia, consultoria especializada em Gestão de TI, Administração de Servidores Windows Server, Bancos de Dados Microsoft SQL Server e Virtualização. Possuo titulação Oficial Microsoft MVP e reconhecimentos: MCC, MSTC, MIE e MTAC.