Script Challenge – 2020 – Post 17


Olá, boa tarde comunidade e amantes de banco de dados…

Tudo bem? Nossa como o tempo esta passando, ainda mais neste momento de pandemia, como você sabe a cada quatro meses nos encontramos em mais um post dedicado especialmente a sessão Script Challenge.

Hoje quinta-feira dia 25/06 estamos no início do inverno, mas ainda não chegou aquele frio, não é verdade.

O post de hoje poderíamos dizer que ele é um pouco gelado, pode nos dar aquele friozinho na barriga durante o seu processamento, ou no final um pequeno susto (kkkkk)….

Mas 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.

Seguindo 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 – 17

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. 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, como também, esta totalmente relacionado com o que venha ou possa estar sendo processado pelo sistema operacional que necessite de dados do SQL Server naquele exato momento; e
  2. Observe as colunas dbpages e used, elas podem contar a resposta para este desafio, pois estão relacionadas com as estruturas que utilizamos em nossos bancos de dados.

E ai, ficou curioso para saber o que este script realiza? Qual seria a sua atividade? O conjunto de resultados que ele retornaria?

Pois bem, foi fazer o papel de chato, a resposta para estas e outras demais questões não serão apresentadas hoje (hahahahahahaha……), vou deixar com que você quebre um pouco a sua cabeça, afim de tentar matar esta curiosidade, no final do post como de costume você terá a sua disposição uma enquete que lhe permitirá expor tentar encontrar a resposta para este desafio.

A seguir apresento o bloco de código:

Figura 1 – Short Script 17.

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 – 17 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.

Todavia, 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/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, e especialmente em outubro de 2020 em mais um post da sessão Script Challenge, o qual apresentará a resposta para este post.

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

Tenha uma ótima quinta-feira.

Abraços.

Short Scripts – Maio 2020

Neste segundo post de 2020 da sessão Short Scripts, você vai encontrar 7 exemplos diferentes de como podemos utilizar as Extended Stored Procedures (XPs), algumas não documentadas no Microsoft SQL Server.


Olá boa tarde, como vai?

Seja bem-vindo, em mais um post da sessão Short Scripts, o segundo post desta sessão em 2020 e o de número 41 em seu total.

Espero que você e seus familiares se encontrem bem neste momento terrível que estamos vivendo em todo Mundo.

Mantendo a tradição estou retornando com mais um conjunto dos “curtos ou pequenos” scripts catalogados e armazenados em minha biblioteca pessoal de códigos relacionados ao Microsoft SQL Server e sua fantástica linguagem de desenvolvimento Transact-SQL.

Como promessa é dívida e deve ser cumprida “ou melhor” compartilhada, vou pagar a minha mais uma vez hoje, feita no encerramento do post anterior publicado no mês de fevereira em 2010, se por acaso você ainda não acessou o mesmo, calma, fique tranquilo, tudo vai dar certo, no encerramento deste post você terá a sua disposição a relação das últimas cinco publicações relacionadas aos Short Scripts.

Vamos caminhar mais um pouco então……..

O post de hoje

Para este post, não vou exatamente compartilhar um conjunto variado de scripts que foram catalogados nos últimos meses, ao contrário, vou disponibilizar um conteúdo que foi elaborado hoje, dedicado de forma única e exclusiva a demonstrar como podemos utilizar as chamadas Extended Stored Procedures no Microsoft SQL Server.

Em conjunto com o uso de forma de execução da Extended Stored Procedure, os exemplos de código aqui compartilhados se relacionam com os seguintes assuntos:

● Cláusula From;
● Cláusula Where;
● Comando Alter Table;
● Comando Begin;
● Comando Begin;
● Comando Create Procedure;
● Comando Create Table;
● Comando Declare;
● Comando Exec;
● Comando Execute;
● Comando Go;
● Comando Insert;
● Comando Reconfigure;
● Comando Select;
● Comando Set;
● Comando Union;
● Comando Update;
● Comando Use;
● DataType Char();
● DataType Datetime;
● DataType Decimal();
● DataType Varchar();
● Diretiva Set;
● Extended Stored Procedure XP_CMDShell;
● Extended Stored Procedure XP_ExecResult;
● Extended Stored Procedure XP_FixedDrives;
● Extended Stored Procedure XP_ReadErrorLog;
● Extended XP_Delete_File;
● Função Convert();
● Função DataLength();
● Função DateAdd();
● Função GetDate();
● System Stored Procedure SP_Configure;
● System Stored Procedure SP_Help; e
● Variáveis.
 

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Maio 2020. Vale ressaltar que todos os scripts publicados nesta sessão foram devidamente testados, mas isso não significa que você pode fazer uso dos mesmo em seu ambiente de produção, vale sim todo cuidado possível para evitar maiores problemas.

Fique à vontade para compartilhar, comentar e melhorar cada um destes códigos.


Short Scripts

— Exemplo 1 — Identificando a porta Padrão do Microsoft SQL Server através da XP_ReadErrorLog —
Use Master
Go

Exec XP_readerrorlog 0, 1, N’Server is listening on’
Go

— Exemplo 2 — Habilitando a Extended Stored Procedure XP_CMDShell -utilizand a Sigla DSH —

— Ativando a exibição das configurações avançadas —
EXECUTE sys.sp_configure @configname = ‘show advanced options’,@configvalue = 1
Go

— Aplicando a alteração —
Reconfigure
Go

— Ativando para uso da XP_CMDShell —
EXECUTE sys.sp_configure @configname = ‘dsh’,@configvalue = 1
Go

— Aplicando a alteração —
Reconfigure
Go

Observação: Como você deve ter percebido, para se fazer uso da Extended Stored Procedure XP_CMDShell, que por padrão vem desabilitada nas configurações internas do SQL Server, temos a necessidade de ativar a exibição das configurações avançadas da nossa instância ou servidor, utilizando a System Stored Procedure SP_Configure, e posteriormente ativar da XP_ CMDShell.

Caso queira saber mais sobre este recurso e demais configurações existentes, acesse:

— Exemplo 3 — Obtendo a quantidade de Megabytes livres em disco através da XP_FixedDrives
Exec xp_fixeddrives
Go

— Exemplo 4 — Excluíndo arquivos específicos através da XP_DeleteFile
Declare @DateString CHAR(10)
Set @DateString = CONVERT(CHAR(10), DATEADD(d, -2, GETDATE()), 103)

Execute master.dbo.xp_delete_file 0, N’E:\MSSQL2012-Backup\BaanModelEA’,N’bak’, @DateString, 1
Go

— Exemplo 5 — Importando o conteúdo de arquivos .csv para dentro de uma tabela através da XP_CMDShell
CREATE TABLE Test
(Empid varchar(6),
Empname varchar(100),
BirthDate datetime,
Salary decimal(12,2),
Nome Varchar(2000))
Go

INSERT INTO Test
SELECT ‘EMP001′,’Suresh’,’19910619′,3000,’Pedro Galvão’
UNION ALL
SELECT ‘EMP002′,’Ramesh’,’19710103′,20000,’Teste’
UNION ALL
SELECT ‘EMP003′,’Nilesh’,’19800722′,4760,”
UNION ALL
SELECT ‘EMP004′,’Kumar’,’19680911′,42000,”
Go

Declare @Comando Varchar(500)
Set @Comando=’bcp Master..Test out c:\teste.csv -SServer -c -t, /CACP -T’

Exec xp_cmdshell @Comando
Go

— Exemplo 6 — Armazenando o Endereço de IP em uma tabela, através da execução de uma Stored Procedure, com base no resultado da XP_CMDShell —

— Exibindo as configurações avançadas —
EXEC sp_configure ‘show advanced options’, 1
Go

— Aplicando a alteração —
RECONFIGURE
Go

— Ativando o uso da XP_CMDShell —
EXEC sp_configure ‘xp_cmdshell’, 1
Go

— Aplicando a alteração —
RECONFIGURE
Go


Create Procedure P_RetornarIP @IP VarChar(25) Output
As
Begin

Set NoCount On

Declare @Auditoria2 Table
(Codigo Int Identity(1,1),
IP VarChar(2000))

Set RowCount 8

Insert Into @Auditoria2
exec master.dbo.xp_cmdshell ‘ipconfig’

Select @IP=(Select Replace(Substring(IP,CharIndex(‘:’,IP,1),25),’:’,”) from @Auditoria2
Where Codigo = 8)

End

Create Table Auditoria
(Codigo Int Identity(1,1),
HostName VarChar(20) Null)

Declare @IP VarChar(25)

Exec P_RetornarIP @IP OutPut
Insert Into Auditoria Values (@IP)

Select * from Auditoria
Go

— Exemplo 7 — Executando uma Instrução Transact-SQL através da XP_ExecResultSets —
Exec Master..XP_ExecResultSet ‘Select ”SP_help ””produtos”””’, ‘BancoDeDados’
Go

Exec Master..XP_ExecResultSet ‘Select ”Select * From produtos”’, ‘BancoDeDados’
Go


Muito bem, missão mais que cumprida!

Uma nova relação de short scripts acaba de ser compartilhada, mesmo sendo denominados shorts entre aspas “curtos ou pequenos”, posso garantir que todos estes exemplos são de grande importância, apresentam um valor e conhecimento do mais alto nível.

Chegamos ao final de mais um Short Scripts, espero que este material possa lhe ajudar, ilustrando o uso de alguns recursos e funcionalidades do Microsoft SQL Server.

Acredito que você tenha observado que estes códigos são conhecidos em meu blog, todos estão relacionados aos posts dedicados ao Microsoft SQL Server publicados no decorrer dos últimos anos.

Boa parte deste material é fruto de um trabalho dedicado exclusivamente a colaboração com a comunidade, visando sempre encontrar algo que possa ser a solução de um determinado problema, bem como, a demonstração de como se pode fazer uso de um determinado recurso.

Links

Caso você queira acessar os últimos posts desta sessão, não perca tempo acesse os links listados abaixo:

https://pedrogalvaojunior.wordpress.com/2020/02/05/8295/

https://pedrogalvaojunior.wordpress.com/2019/11/15/short-scripts-novembro-2019/

https://pedrogalvaojunior.wordpress.com/2019/09/11/short-scripts-setembro-2019/

https://pedrogalvaojunior.wordpress.com/2019/06/08/short-scripts-junho-2019/

https://pedrogalvaojunior.wordpress.com/2019/03/15/short-scripts-marco-2019/

Agradecimento

Obrigado mais uma vez por sua visita, fico honrado com sua ilustre presença ao meu blog, desejo e espero que você possa ter encontrado algo que lhe ajudou.

Volte sempre, nos encontraremos mais uma vez na sessão Short Scripts no post a ser publicado no mês de agosto em 2020.

Um forte abraço, saúde e paz.

Até mais.

Excelentes cursos on-line para aprender estatísticas, machine learning e deep learning enquanto você está trancado em casa

Segundo Martin Heller (Infoworld), Cursos gratuitos de ciência de dados durante a quarentena.


Ciência de dadosUm dos campos mais lucrativos a serem abertos nos últimos dois anos é a ciência de dados.

Se você já pode programar em Python ou R, essa habilidade lhe dará uma vantagem sobre a ciência de dados aplicada. Por outro lado, a programação não é a parte mais difícil para a maioria das pessoas – são os métodos numéricos.

Coursera oferece muitos dos seguintes cursos. Você pode assistir as aulas gratuitamente, mas precisa pagar pelo certificado. Confira, abaixo, algumas opções de qualificação:

Ciência de dados aplicada com especialização em Python

Por Christopher Brooks, Kevyn Collins-Thompson, V.G. Vinod Vydiswaran e Daniel Romero, Universidade de Michigan / Coursera 

Os cinco cursos (89 horas) desta especialização da Universidade de Michigan apresentam a ciência de dados através da linguagem de programação Python.

Essa especialização é direcionada a alunos que têm experiência básica em Python ou programação e que desejam aplicar técnicas estatísticas, de machine learning, visualização de informações, análise de texto e análise de redes sociais por meio de kits de ferramentas Python populares, como Pandas, Matplotlib, Scikit-learn, NLTK e NetworkX para obter informações sobre seus dados.

Continue Lendo “Excelentes cursos on-line para aprender estatísticas, machine learning e deep learning enquanto você está trancado em casa”

Segredo para inspirar equipes em tempos tão desafiadores está no gerenciamento inteligente e adaptável

Segundo John Edwards, existem maneiras de otimizar a produtividade da equipe de TI mesmo em tempos de pandemia.


7 maneiras de otimizar a produtividade da equipe de TI em tempos difíceis

Otimizar a produtividade da equipe de TI é sempre um desafio, mas, no ambiente de negócios extraordinário de hoje, garantir que a TI atenda ou supere as metas definidas é uma tarefa muito difícil.

Pelo lado positivo, qualquer um que possa habilmente dirigir seu departamento pelas águas turbulentas de hoje emergirá da crise atual com uma sólida reputação de obter sucesso sob extrema pressão.

Continue Lendo “Segredo para inspirar equipes em tempos tão desafiadores está no gerenciamento inteligente e adaptável”

Deseja aprender a programar?

Estes excelentes cursos introdutórios gratuitos da Codecademy e Coursera farão com que você codifique rapidamente.


Os melhores cursos de programação gratuitos para aprender durante a quarentena

Então você quer aprender a programar, mas não pode sair de casa. Não tem problema. Você pode fazer cursos on-line que ensinam os princípios de desenvolvimento de software, juntamente com sua primeira linguagem de programação. O passo importante é aprender a pensar como um programador.

Existem vários bons cursos de programação disponíveis on-line, mas nem todos são gratuitos.

Continue Lendo “Deseja aprender a programar?”

Sistemas legados podem sofrer para se adaptarem a novos usos ou a picos inesperados de demanda, trazendo riscos à segurança da informação

O que os problemas do COBOL em Nova Jersey ensinam sobre sistemas legados


Image result for cobolAlta demanda em plataforma de desemprego de Nova Jersey, Estados Unidos, mostra como a escassez de programadores com conhecimento em uma linguagem específica, o COBOL, afetou todo o sistema do estado.

A plataform a lutou para suportar um aumento de 1.600% na demanda e precisou de talentos específicos para trabalharem com a linguagem criada na década de 1950.

Segundo reportagem do CIO Dive, o sistema de back-end que suporta a plataforma de desemprego do estado norte-americano dobrou sob a pressão de um aumento de 1.600% nas solicitações – de 9.500 na semana de 14 de março, para 156.000 na semana seguinte. Na primeira semana de abril, as reivindicações iniciais aumentaram novamente em mais de 206.000.

Image result for cobol“Dados os sistemas legados, devemos adicionar uma página para os conhecimentos de informática [COBOL], porque é com isso que lidamos nesses legados”, disse o governador de Nova Jersey Phil Murphy, em entrevista coletiva. “Temos sistemas com mais de 40 anos. Haverá muitas autópsias, e uma delas em nossa lista será ‘como diabos chegamos aqui, quando literalmente precisávamos de programadores’ [COBOL]”.

Continue Lendo “Sistemas legados podem sofrer para se adaptarem a novos usos ou a picos inesperados de demanda, trazendo riscos à segurança da informação”

Aliado ao planejamento estratégico, uso de informações coletadas por sistemas de análise podem fornecer ajuda crítica a companhias

Celso Oliveira é country manager da MicroStrategy Brasil, destaca como os dados aliados em meio à crise do coronavírus podem ajudar as empresas e seus sistemas


Image result for dados tecnologia

À medida que a pandemia de coronavírus continua a se espalhar, empresas e órgãos do setor público enfrentam o grande desafio de proteger a saúde de seus funcionários e, ao mesmo tempo, manter a eficácia operacional de seus programas de prevenção e atendimento.

Vou me ater aqui, principalmente, às entidades da área de saúde, que precisam tomar medidas proativas para reduzir o impacto da pandemia em suas operações, que são fundamentais para o bom andamento do atendimento à população. Porém, vale ressaltar que isso também se estende às empresas em geral.

Cada organização deve fazer uma avaliação da sua realidade operacional para estar preparada e se antecipar às mudanças no seu ambiente, agindo proativamente e de forma rápida em cenários como o que estamos vivenciando.

Continue Lendo “Aliado ao planejamento estratégico, uso de informações coletadas por sistemas de análise podem fornecer ajuda crítica a companhias”

Vivo e governo de SP usarão dados para rastrear focos de Covid-19

Instituto de Pesquisas Tecnológicas (IPT) e a operadora utilizaram base anônima para acompanhar deslocamento populacional da cidade.


Resultado de imagem para rastreamento de dados

A operadora Telefônica Brasil (que também atua sob a marca Vivo) firmou parceria com o governo de São Paulo para usar seus recursos de Big Data para medir em tempo real dados sobre o deslocamento da população, a fim de identificar tendências e áreas de possível foco de contágio do novo coronavírus (Covid-19).

Quem fará a gestão desses dados será o Instituto de Pesquisas Tecnológicas (IPT), vinculado à Secretaria de Desenvolvimento Econômico do Estado de São Paulo. De acordo com comunicado, todos os dados aos quais o IPT terá acessão “são analisados de forma agregada e anonimizada e nunca individualizada, sempre respeitando a privacidade dos usuários”.

Continue Lendo “Vivo e governo de SP usarão dados para rastrear focos de Covid-19”

Ferramentas gratuitas que podem te ajudar na gestão de projetos

Estabelecer boas relações entre o time é um dos fatores-chave para o sucesso de um projeto.


Resultado de imagem para gestão de projetos

Segundo as palavras do manager de baseball Casey Stengel “encontrar bons jogadores é fácil. Difícil é fazê-los jogar juntos”. Esta afirmação talvez valha para o momento atual no que tange aos recursos tecnológicos.

A Colaboração é um dos fatores-chave para o sucesso independente do tamanho da companhia. Tendo isso em mente, fica simples observar o quão importante é possuir a ferramenta de colaboração certa para manter os times conectados e caminhando numa mesma direção.

A Computerworld listou algumas soluções que podem ajudá-lo nesse sentido:

Continue Lendo “Ferramentas gratuitas que podem te ajudar na gestão de projetos”

As linguagens de programação que neste momento estão perdendo espaço

Estas são as ‘piores’ linguagens de programação para aprender atualmente, segundo a lista da Codementor destaca as linguagens que podem ser perda de tempo para os desenvolvedores.


Resultado de imagem para linguagens de programação 2020

Anualmente, a Codementor publica a lista das “Piores linguagens de programação para aprender”, baseando-se no envolvimento da comunidade, crescimento e mercado de trabalho. Na última edição, a companhia enfatizou que o ranking reflete as linguagens que são uma má escolha para se aprender como primeira opção.

Confira abaixo as top 5 identificadas nesta lista:

1. Elm

Destinado principalmente a desenvolvedores web, o Elm é uma linguagem funcional que se compila ao JavaScript e foi projetada para facilitar a criação de aplicativos web. Segundo a avaliação da Codementor, a linguagem tem o quarto pior engajamento da comunidade, queda no crescimento e, embora as perspectivas de emprego para o Elm tenham melhorado um pouco, ele ainda permanece classificado como a quinta pior linguagem do mercado.

2. CoffeeScript

Também caracterizado como uma linguagem de desenvolvimento web, o CoffeeScript é compilado em JavaScript e foi projetado para melhorar a legibilidade do JavaScript. Para a Codementor, o envolvimento da comunidade do CoffeeScript é baixo. Além disso, o crescimento já fraco da linguagem vem sofrendo queda. Embora as perspectivas de emprego também tenham piorado, a Codementor ressalta que ainda há empresas buscando desenvolvedores com conhecimentos em CoffeeScript.

Continue Lendo “As linguagens de programação que neste momento estão perdendo espaço”

Quer saber o que o Mundo esta falando sobre o Covid-19 no Twitter?


Salve pessoal, boa noite.

Este é um post bem diferente de todos os que eu já publiquei aqui no meu blog e em outro canais.

Devido a esta loucura que estamos vivendo sobre a Pandemia do Covid-19, tomei a decisão nos últimos dias de tentar criar um forma diferente de  se manter informado sobre esta doença, suas ameaças, riscos e impactos ao mundo.

Desta forma, elaborei um pequeno conjunto de controles aplicados a um dashaboard através do Microsoft Power BI em conjunto com outras ferramentas e recursos Microsoft, em suma, um pequeno “robozinho” que se encontra em execução ininterrupta monitorando a rede social Twitter, identificando posts publicados e seus retweets ao redor do mundo relacionados com algumas hashtags, dentre elas destaco:

  • #Corona
  • #CoronaVírus
  • #Covid-19;
  • #Covid19;
  • #TodosContraOVírus; etc.

O objetivo deste dashboard é permitir identificar o que esta sendo comentado por qualquer pessoa, empresas, instituições, orgãos públicos, governos nacionais ou estrangeiros, nos mais diversos níveis sociais, independente do idioma, língua ou dialeto.

A seguir apresento a visualização deste dashboard:

Clique para acessar

Ressalto que o mesmo encontra-se em desenvolvimento, diariamente ajustes estão sendo realizados, os dados aqui coletados e apresentados são de domínio público, em adicional os mesmos são atualizados em intervalos programados a cada 03 horas.

Todavia, enfatizo que este projeto não se relaciona com organizações governamentais, estaduais ou municipais, na verdade o mesmo esta sendo idealizado como uma forma de aplicar conceitos, estudos relacionados as áreas de mineração de dados, data warehouse, análise sentimental e processamento de dados aleatórios que não apresentam nenhuma comprovação de veracidade, mas sim volumetria para posteriormente armazenamento.

Caso você queira saber mais sobre este projeto, bem como, ter acesso a fonte de dados que esta sendo populada, preencha o formulário abaixo, terei o maior prazer em poder compartilhar o conteúdo e conhecimento que esta sendo concebido através deste cenário:

Obrigado por sua visita, antes de encerra este post não poderia deixar de fazer um pedido:

“Fique em casa, se cuide, cuide de todos nós…..”

Um forte abraço.

 

Script Challenge – 16 – A resposta

Obtendo o histórico de consumo de CPU durante um intervalo de tempo em minutos….


Bom dia, bom dia, bom dia….

Tudo bem? Que bom te encontrar tão cedo por aqui….

Seja mais uma vez muito bem vindo ao meu blog, mais especificamente ao post que apresenta a resposta para o Script Challenge – 2019 – Post 16, sendo este respectivamente o quinto post após o retorno desta desafiadora sessão denominada Script Challenge (Script Desafiador ou Desafio do Script) como queiram traduzir.

Espero que você já tenha ouvido falar desta sessão ou acessado alguns dos posts publicados anteriormente. Caso ainda não tenha feito, fique tranquilo você vai encontrar no final deste post uma pequena relação contendo os últimos desafios lançados e seus respostas.

Vamos então falar um pouco mais sobre o último desafio, estou me referindo ao Script Challenge 16….


Script Challenge 16

Falando do desafio de número 16, o mesmo foi publicado no mês de outubro de 2019, período de data em que praticamente todos nós estamos começando a preparar para o encerramento do ano, as festas de final de ano estão se aproximando.

Da mesma forma que o início do ano não é algo muito fácil, o final também não, normalmente estamos no nosso limite físico, emocional, psicológico também, dos últimos dois meses parecem que duram o ano todo, mas não podemos nos abater e temos que serguir em frente, o mesmo foi feito aqui no meu blog.

Pois bem, o Script Challenge 16 possui um pouco relação ou conexão com toda esta loucura, não necessariamente com o natal ou final de ano, muito menos com presentes e toda aquela mesa farta com diversas comidas.

Na verdade, sabemos que existem determinadas situações, ações, procedimentos e demais atividades que se não cumprimos da maneira que estava preestabelecida acabamos de alguma forma sendo notificados ou até mesmo penalizados, pensando justamente desta forma, o Script Challenge 16 se relaciona.

Continuando nossa história, quero lhe perguntar: E ai já matou a charada? Acho que ainda não! Não é mesmo?

Para te ajudar mais um pouco vou apresentar a Figura 1 que contem todo código Transact-SQL utilizado neste desafio, contendo trechos ou partes de código ocultas, procedimento que realizei no post que contempla o lançamento deste desafio como forma de aumentar o nível de dificuldade:

Figura 1 – Código Transact-SQL apresentado no Script Challenge 16.

E ai, revendo novamente o código publicado no post de abertura deste desafio, você conseguiu checar a alguma conclusão?

Bom chegou a hora de revelar o que exatamente este bloco de código se propõem a fazer, chegou o momento de revelar e desvendar este desafio. A seguir apresento a resposta para o Script Challenge 16 e o todo bloco de código disponível para você utilizar em seus ambientes de trabalho ou estudos.

A resposta

Como você pode ter percebido, no decorrer deste post e também no post de lançamento, procurei de uma forma simples mas não explícita exibir ao longo do texto, pequenas dicas que poderiam ajudar, nortear e quem sabe indicar uma possível resposta ou solução para o desafio.

Falando mais diretamente, a resposta para o Script Challenge 16, esta totalmente relacionada as nossas atividades diárias, mas não no mundo real, mas sim no mundo virtual, estou me referindo ao histórico de tudo aquilo que fazemos durante um período ou intervalo de tempo, e foi pensando justamente neste tipo de situação que o Script Challenge 16 foi criado.

Mas se mesmo assim, você ainda não conseguiu adivinhar ou até mesmo pode estar se perguntando: Qual a relação do Script Challenge – 16 tem haver com histórico? A resposta para seu questionamento é muito simples, para qualquer Administrador de Banco de Dados, Administrador de Servidores, Desenvolvedor, enfim um profissional de tecnologia, tudo o que fazemos basicamente em um computador deve de alguma gerar dados históricos, gerar registros que evidenciam o que foi feito, quando, como, e até mesmo o porque, e como todos devem saber, um histórico nada mais é que uma relação de itens e ações registradas ao longo do tempo que ilustram de fato estes acontecimentos.

Então a resposta para o Script Challenge 16 se relaciona com a possibilidade que o script apresenta em nos ajudar a saber como foi o consumo de CPU utilizado em nosso servidor ou instância SQL Server durante um determinado intervalo de tempo, neste caso levando-se em consideração um período de tempo de 30 minutos, com intervalos pequenos do registro de histórico de processamento a cada um minuto.

Abaixo apresento o script original que ilustra esta capacidade que o Microsoft SQL Server em conjunto com suas visões e funções de gerenciamento dinâmico possui:

— Script Challenge 16 – A resposta – Realizando Auditoria em tempo real (In Live) —

DECLARE @ts_now bigint = (SELECT cpu_ticks/(cpu_ticks/ms_ticks) FROM sys.dm_os_sys_info);
SELECT TOP(30)
               SQLProcessUtilization AS [SQL Server Process CPU Utilization],
               SystemIdle AS [System Idle Process],
               100 – SystemIdle – SQLProcessUtilization AS [Other Process CPU Utilization],
               DATEADD(ms, -1 * (@ts_now – [timestamp]), GETDATE()) AS [Event Time]
FROM (
              SELECT record.value(‘(./Record/@id)[1]’, ‘int’) AS record_id,
                           record.value(‘(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]’, ‘int’) AS [SystemIdle],
                           record.value(‘(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]’,’int’) AS [SQLProcessUtilization],
                           [timestamp]
FROM (
             SELECT [timestamp], CONVERT(xml, record) AS [record]
             FROM sys.dm_os_ring_buffers
             WHERE ring_buffer_type = N’RING_BUFFER_SCHEDULER_MONITOR’
             AND record LIKE N’%<SystemHealth>%’) AS x
            ) AS y
ORDER BY record_id DESC
Go

Então, agora você deve ter gostado deste desafio, não é verdade? Saber que existe a possibilidade de identificar como foi o consumo de CPU utilizado por nosso SQL Server durante um período de tempo, com certeza é algo que poderá nos ajudar muito a entender possíveis mudanças de comportamento em nosso ambiente.

Figura 2 apresentada abaixo, ilustra o conjunto de dados retornados após a execução do Script Challenge – 16:

Figura 2 – Histórico de execução e consumo de CPU.

Dentre o conjunto de colunas retornadas pelo Script Challenge 15, destaco algumas:

  • SQL Server Process CPU Utilization: Apresenta os valores relacionados a quantidade de CPU consumida pelo SQL Server de acordo com a linha de histórico retornada dentro do intervalo de tempo registrado. Esta coluna é gerada atráves processo Scheduler Monitor Event / System Health / Process Utilization, o qual é parte da camada do sistema operacional existente no SQL Server conhecido como SQLOS, em conjunto com o próprio sistema operacional e sua camada de monitoramento de eventos; e
  • Other Process CPU Utilization: Apresenta os valores relacionados a quantidade de CPU consumida por todos os outros serviços e recursos em execução de acordo com a linha de histórico retornada dentro do intervalo de tempo registrado. Esta coluna é gerada atráves do cálculo: 100 –
    SystemIdle – SQLProcessUtilization, onde a coluna SystemIdle é concebida através do processo Scheduler Monitor Event / System Health / System Idle, sendo este também pertencente parte da camada do sistema operacional existente no SQL Server.

Enfim, conseguimos, chegamos ao final, esta é a resposta para o Script Challenge 16, fico honrado, feliz por ter conseguido compartilhar este conteúdo com vocês.

Espero que você tenha gostado deste novo post da sessão Script Challenge!


Sua Participação

No post de lançamento deste desafio, contei com a sua participação através de uma enquete contendo algumas opções de respostas que poderiam estar relacionadas com o Script Challenge 16. A seguir apresento o resultado desta enquete:

A opção mais votada com 66% dos votos é justamente a resposta correta para este desafio: “O bloco de código apresentado se relacionado com a possibilidade de realizar o monitoramento do consumo cpu como parte dos processos e aplicações que estão acessando o SQL Server em um longo período de tempo.”

Referências

https://www.mssqltips.com/sqlservertip/1915/how-to-automatically-monitor-windows-event-log-from-sql-server/

https://docs.microsoft.com/en-us/sql/ssms/agent/monitor-and-respond-to-events

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-schedulers-transact-sql

https://www.mssqltips.com/sqlservertip/4403/understanding-sql-server-schedulers-workers-and-tasks/

https://blogs.msdn.microsoft.com/mvpawardprogram/2012/06/04/using-sys-dm_os_ring_buffers-to-diagnose-memory-issues-in-sql-server/

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-buffer-descriptors-transact-sql

https://gallery.technet.microsoft.com/SQL-Server-Monitoramento-ea6dd632

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sql-server-operating-system-related-dynamic-management-views-transact-sql

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/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/

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

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

Agradecimentos

Obrigado por sua visita, espero que este conteúdo aqui apresentado como um possível “desafio” possa ser útil 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.

Um forte abraço nos encontramos em breve nas demais sessões e especialmente em junho de 2020 em mais um post da sessão Script Challenge.

Até mais….

Governo Federal cria novo decreto para definir as estratégias de cibersegurança no país

Dicas para se prevenir de ciberataques em casa e no ambiente corporativo.


Image result for segurança de dados

A decisão ocorre após diversos casos de ataques cibernéticos a celulares pessoais de autoridades do governo ocorridos ao longo de 2019.

Conforme o Centro de Tratamento e Resposta a Incidentes Cibernéticos de Governo (CTIR-Gov), órgão vinculado ao Gabinete de Segurança Institucional (GSI), foram 19.150 registros de notificações de ataques cibernéticos no ano passado, o que significa um aumento de quase 4 mil casos em relação a 2018.

Diante da necessidade de um ambiente digital seguro é que a CompTIA (The Computing Technology Industry Association), principal associação da indústria de tecnologia no mundo, e líderes do setor de tecnologia, além da comunidade empresarial brasileira, decidiram formar o Conselho Empresarial de Segurança Cibernética da CompTIA no Brasil (CSEC), que visa trazer melhorias nesse segmento.

Image result for segurança de dados

Mas antes mesmo da criação do CSEC, empresas de tecnologia e especialistas no assunto já alertavam a respeito de medidas para aumentar a segurança de dados dos usuários e evitar ser vítima de um ciberataque.

Continue Lendo “Governo Federal cria novo decreto para definir as estratégias de cibersegurança no país”

Pesquisadores paranaenses desenvolvem leite materno em pó

Pesquisa realizada na Universidade Estadual de Maringá (UEM) mostra que produto em pó não perde nutrientes e se torna alternativa mais econômica e sustentável para bancos de leite.


Com grande capacidade nutritiva e reconhecido pela importância no desenvolvimento físico e cognitivo, o leite materno é um alimento de ouro para bebês, principalmente, para recém-nascidos.

Não é à toa que a Organização Mundial da Saúde (OMS) recomenda que o leite materno seja o único alimento oferecido para os bebês até os seis meses de vida. Depois, quando se inicia a introdução alimentar, o leite materno deve ser mantido até a criança completar, pelo menos, os dois anos.

O valor, tanto emocional quanto físico, do leite materno levou pesquisadores da Universidade Estadual de Maringá (UEM), no norte do Paraná, a estudarem e desenvolverem um método capaz de transformar o líquido em pó sem desperdiçar os principais nutrientes.

Continue Lendo “Pesquisadores paranaenses desenvolvem leite materno em pó”

Identificada proteína que transporta a coronavírus

Uma equipe de cientistas chineses identificou a estrutura completa da proteína ACE2, que o coronavírus usa para entrar nas células humanas, o que pode facilitar o desenvolvimento de possíveis terapias antivirais.


O estudo, publicado na revista científica Science, é assinado por investigadores de três instituições da China, país onde o coronavírus, que provoca a doença Covid-19, foi detectado pela primeira vez, no fim do ano passado.

“A nossa descoberta não só ajuda a compreender a mecânica da infecção viral” como também “facilita o desenvolvimento de técnicas de detecção do vírus e possíveis terapias antivirais”, dizem os autores do estudo, citados na revista.

A equipe, liderada por Renhong Yan, do Instituto Westlake de Estudos Avançados, analisou e descreveu a estrutura da proteína ACE2, que não se conhecia totalmente até agora.

É a proteína ACE2 que o novo coronavírus “sequestra” para entrar nas células humanas.

Continue Lendo “Identificada proteína que transporta a coronavírus”