Script Challenge – 15 – A resposta….

Realizando Auditoria em tempo real (In Live) no Microsoft SQL Server


Boa tarde, pessoal…

Tudo bem? Seja mais uma vez muito bem vindo ao meu blog, mais especificamente ao post que apresenta a resposta para o Script Challenge – 2018 – Post 15, sendo este respectivamente o terceiro 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 15…


Script Challenge 15

Falando do desafio de número 15, o mesmo foi publicado no mês de fevereiro de 2019, período de data em que praticamente todos nós estamos começando a iniciar nossas atividades profissionais e principalmente acadêmicas.

Começo de ano não é fácil, volta as aulas, correria de comprar material escolar, renovação de mensalidades, matrículas, IPVA, IPTU, tanta conta para pagar que as coisas acabam se tornando um grande furação em nossas vidas e precisamos de alguma maneira, anotar, gerenciar ou auditar tudo o que estamos fazendo.

Pois bem, o Script Challenge 15 possui um pouco relação ou conexão com toda esta loucura, não necessariamente com a volta as volta as aulas, ou impostos que devemos pagar.

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 15 se relaciona.

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

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

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 15 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 bastante 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 15, esta totalmente relacionada as nossas atividades diárias, mas não no mundo real, mas sim no mundo virtual, estou me referindo a chamada auditoria, palavrinha que para muitos chega a dar calafrios. Não é mesmo?

Mas se mesmo assim, você ainda não conseguiu adivinhar ou até mesmo pode estar se perguntando: Qual a relação do Script Challenge – 15 tem haver com auditoria? 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 forma ser monitorada, auditada, controlada, afim de gerar evidência do que foi feito e por quem foi feito, como uma forma de nos proteger e si proteger.

Então a resposta para o Script Challenge 15 se relaciona com a possibilidade que o script apresenta em nos ajudar a identificar tudo o que esta sendo acesso, manipulado e processado, por quem, como, quando, onde e de que forma ao se conectar em um servidor ou instância de banco de dados Microsoft SQL Server, isso tudo em tempo real, ou como gostam de dizer Real Time.

De uma forma muito simples e direta, esta é a resposta, auditoria em tempo real. 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 15 – A resposta – Realizando Auditoria em tempo real (In Live) —

Use Master
Go

SELECT ser.session_id As ‘SessionID’,
ssp.ecid,
DB_NAME(ssp.dbid) As ‘DatabaseName’,
ssp.nt_username as ‘User’,
ser.status As ‘Status’,
ser.wait_type As ‘Wait’,
SUBSTRING (sqt.text,  ser.statement_start_offset/2,
(CASE WHEN
ser.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), sqt.text)) * 2
ELSE ser.statement_end_offset
END – ser.statement_start_offset)/2) As ‘Individual Query’,
sqt.text As ‘Parent Query’,
ssp.program_name As ‘ProgramName’,
ssp.hostname,
ssp.nt_domain As ‘NetworkDomain’,
ser.start_time
FROM sys.dm_exec_requests ser INNER JOIN sys.sysprocesses ssp
On ser.session_id = ssp.spid
CROSS APPLY sys.dm_exec_sql_text(ser.sql_handle)as sqt
WHERE ser.session_Id > 50
AND ser.session_Id NOT IN (@@SPID)
ORDER BY SessionID, ssp.ecid
Go

Então, agora você deve ter gostado deste desafio, não é verdade? Ter a capacidade de identificar, monitorar e registrar tudo o que esta sendo acessado ou manipulado em tempo real, com certeza é algo útil e de extrema importância para qualquer empresa.

A Figura 2 apresentada abaixo, ilustra o conjunto de dados retornados após a execução do Script Challenge – 15:
Figura 2 – Informações coletadas em tempo real, dentre elas SessionID, DatabaseName e ProgramName.

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

  • User – Apresenta o nome do usuário que esta conectado e processando a query;
  • Status – Apresenta o status em tempo real da execução, waiting ou suspended da query;
  • Wait – Apresenta qual é o Wait Types utilizado pela query;
  • Individual Query – Apresenta se a query processada esta sendo executada de forma individual, em conjunta ou até mesmo se ele é uma sequência de execuções de blocos de código; e
  • ProgramName – Apresenta o nome do programa, aplicações ou software que esta disparando a execução da query.

Muito bom, sensacional, conseguimos, chegamos ao final, esta é a resposta para o Script Challenge 15, fico extremamente 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 15. A seguir apresento o resultado desta enquete:

A opção mais votada com 44% dos votos é justamente a resposta correta para este desafio: ” O bloco de código apresentado se relacionado com a possibilidade de realizar o monitoramento de sessões e programas que solicitaram dados em tempo real ao SQL Server.”

Referências

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/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 outubro de 2019 em mais um post da sessão Script Challenge.

Até mais….

Microsoft libera nova preview do SQL Server 2019 denominada 2.4


Ontem a Microsoft através do seu time MSSQLTiger, disponibilizou a nova versão preview da próxima versão do Microsoft SQL Server 2019.

Este novo preview foi batizado de SQL Server 2019 2.4 (quinta versão), vale ressaltar que nos últimos meses a Microsoft vem trabalhando fortemente para liberação de novas versões preliminares.

Novidades

Um dos destaques desta nova versão preliminar faz referência a integração do SQL Server com o Apache Spark™ e o HDFS com o SQL Server, criando assim  uma nova plataforma de dados unificada, que possibilita um grande salto no produto relacionado com os novos padrões de dados e processamento em larga escala.

Segundo informações fornecidas pela Microsoft, o SQL Server 2019 oferece mais segurança, disponibilidade e desempenho para todas as cargas de dados, além de trazer novas ferramentas de conformidade (relacionadas a GDPR e LGPD), melhor desempenho em hardware moderno e alta disponibilidade em Windows, Linux e contêineres.

A Figura 1 abaixo ilustra a página inicial do website da Microsoft dedicado ao Microsoft SQL Server 2019:

Figura 1 – Introdução ao Microsoft SQL Server 2019.

Melhorias

Esta versão inclui melhorias de versões CTP anteriores para corrigir bugs, melhorar a segurança e otimizar o desempenho.

Além disso, os seguintes recursos são adicionados ou aprimorados para SQL Server 2019 pré-visualização CTP 2.4:

    • Cluster de grande volume de dados
      • Orientação na GPU suporte para a execução de profunda aprendizagem com TensorFlow no Spark.
      • Atualização em tempo real para Spark 2.4.
    • Mecanismo de banco de dados
      • Novo evento estendido.query_post_execution_plan_profile
      • Nova DMF retorna o equivalente o último plano de execução real conhecido para a maioria das consultas.sys.dm_exec_query_plan_stats
      • Criptografia de dados transparente (TDE) varredura – suspender e continuar.
    • SQL Server Analysis Services
      • Relacionamentos muitos-para-muitos em modelos tabulares.
      • Configurações de propriedade para a gerenciamento de recursos.

Download

Dentre as opções disponíveis, você poderá optar tanto para rodar em ambientes físicos como Windows e Linux ou virtualizados através de máquinas virtuais ou containers, conforme Figura 2 abaixo ilustra:

Figura 2 – Plataformas para download disponíveis para versão 2.3 do Microsoft SQL Server 2019.

O Microsoft Server 2019 Preview 2.4 para Windows está disponível em arquivos ISO, arquivo .cab para os seguintes idiomas:

  • Inglês;
  • Alemão;
  • Japonês;
  • Espanhol;
  • Coreano;
  • Russo;
  • Italiano;
  • Francês;
  • Chinês (simplificado);
  • Chinês (tradicional); e
  • Português (Brasil)‎.

Saiba mais sobre o SQL Server 2019

Caso você queria saber mais sobre esta nova versão do Microsoft SQL Server e seus principais recursos, selecione um dos links abaixo:

https://info.microsoft.com/ww-landing-SQLDB-Microsoft-SQL-Server-WhitePaper.html

http://download.microsoft.com/download/8/B/6/8B643729-6224-4ECC-8C50-3292B8156F0E/SQL_Server_2019_Transform-Data_into_Insights_Infographic_EN_US.pdf

http://download.microsoft.com/download/D/2/5/D2519504-0ACD-4CD7-9C34-AB85D5824F34/SQL_Server_2019_Top_10_Reasons_to_Choose_Infographic_EN_US.pdf

https://info.microsoft.com/ww-landing-intro-sql-server-2019.html

Fontes e Direitos Autorais: Microsoft.com – SQL Server BlogSQL Server Team – 27/03/2019.
Leia na integra acessando: https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sql-server-ver15#ctp-24

Microsoft libera nova preview do SQL Server 2019 denominada 2.3


Em grande evento dedicado ao Microsoft SQL Server que esta sendo realizado na Inglaterra o SQL Bits, a Microsoft informou a  liberação de mais uma versão preview da próxima versão SQL Server 2019.

Este novo preview foi batizado de SQL Server 2019 2.3 (quarta versão), vale ressaltar que nos últimos meses a Microsoft vem trabalhando fortemente para liberação de novas versões preliminares.

Novidades

Um dos destaques desta nova versão preliminar faz referência a integração do SQL Server com o Apache Spark™ e o HDFS com o SQL Server, criando assim  uma nova plataforma de dados unificada, que possibilita um grande salto no produto relacionado com os novos padrões de dados e processamento em larga escala. 

Segundo informações fornecidas pela Microsoft, o SQL Server 2019 oferece mais segurança, disponibilidade e desempenho para todas as cargas de dados, além de trazer novas ferramentas de conformidade (relacionadas a GDPR e LGPD), melhor desempenho em hardware moderno e alta disponibilidade em Windows, Linux e contêineres.

A Figura 1 abaixo ilustra a página inicial do website da Microsoft dedicado ao Microsoft SQL Server 2019:

Figura 1 – Introdução ao Microsoft SQL Server 2019.

Melhorias

  • Recuperação de banco de dados acelerada para fornecer melhor aproveitamento do tempo de recuperação e possibilidades de reversão instantânea para transações de longa duração;
  • Aprimoramentos de desempenho em recompilações de plano de consulta, gerenciamento de log de transações e repositório de consultas; e
  • Melhorias no recurso SQL Graph, permitindo exclusão em cascata para bordas e nós.

Download

Dentre as opções disponíveis, você poderá optar tanto para rodar em ambientes físicos como Windows e Linux ou virtualizados através de máquinas virtuais ou containers, conforme Figura 2 abaixo ilustra:

Figura 2 – Plataformas para download disponíveis para versão 2.3 do Microsoft SQL Server 2019.

O Microsoft Server 2019 Preview 2.3 para Windows está disponível em arquivos ISO, arquivo .cab para os seguintes idiomas:

  • ‎Inglês;
  • Alemão;
  • Japonês;
  • Espanhol;
  • Coreano;
  • Russo;
  • Italiano;
  • Francês;
  • Chinês (simplificado);
  • Chinês (tradicional); e
  • Português (Brasil)‎.

Saiba mais sobre o SQL Server 2019

Caso você queria saber mais sobre esta nova versão do Microsoft SQL Server e seus principais recursos, selecione um dos links abaixo:

https://info.microsoft.com/ww-landing-SQLDB-Microsoft-SQL-Server-WhitePaper.html

http://download.microsoft.com/download/8/B/6/8B643729-6224-4ECC-8C50-3292B8156F0E/SQL_Server_2019_Transform-Data_into_Insights_Infographic_EN_US.pdf

http://download.microsoft.com/download/D/2/5/D2519504-0ACD-4CD7-9C34-AB85D5824F34/SQL_Server_2019_Top_10_Reasons_to_Choose_Infographic_EN_US.pdf

https://info.microsoft.com/ww-landing-intro-sql-server-2019.html

Fontes e Direitos Autorais: Microsoft.com – SQL Server BlogSQL Server Team – 07/03/2019.
Leia na integra acessando: https://cloudblogs.microsoft.com/sqlserver/2019/03/01/sql-server-2019-community-technology-preview-2-3-is-now-available/

Microsoft SQL Server 2014 SP3 Atualização Cumulativa 1 liberada

Esta atualização contém correções para os problemas que foram identificados após o lançamento do SQL Server 2014 SP3 no mês de outubro deste ano.


A Microsoft informou no decorrer desta semana em seu blog SQL Server Release Services a disponibilidade da Atualização Cumulativa 1 para SQL Server 2014 SP3.

Com base, no artigo KB4470220 publicado no site de suporte, a atualização traz correções para múltiplos bugs no SQL Server 2014 SP3.

A lista com os bugs corrigidos destaca um dos mais reportados após o lançamento do Service Pack, conhecido por causar a ocorrência de resultados incorretos quando você converte o parâmetro pollinginterval de segundos para horas na System Stored Procedure sys.sp_cdc_scan, outro bug destacado se relacionado com um erro de violação de acesso no SQL Server Analysis Services durante o processamento de um banco de dados analítico.

A Atualização Cumulativa 1 para SQL Server 2014 SP3 está disponível para download em múltiplos idiomas para plataformas 32 e 64 bits, após a instalação desta atualização o Build Version será evoluído para o número: 12.0.6205.1.

A seguir destaco relação completa de atualizações disponíveis para o Microsoft SQL Server 2014 desde o seu lançamento, em destaque as mais recentes dentre elas o Service Pack 3.

SQL Server 2014 Service Pack 3 (SP3) e atualização cumulativa (CU) compilações


Nome da atualização cumulativa Versão da compilação Número da base de dados de conhecimento Dia do lançamento
SQL Server 2014 SP3 CU1 12.0.6205.1 KB4470220 12 de dezembro de 2018
SQL Server SP3 de 2014 12.0.6024.0 KB4022619 30 de outubro de 2018

SQL Server 2014 Service Pack 2 (SP2) e atualização cumulativa (CU) compilações


Nome da atualização cumulativa Versão da compilação Número da base de dados de conhecimento Dia do lançamento
SQL Server 2014 SP2 CU15 12.0.5605.1 KB4469137 12 de dezembro de 2018
SQL Server 2014 SP2 CU14 12.0.5600.1 KB4459860 15 de outubro de 2018
SQL Server 2014 SP2 CU13 12.0.5590.1 KB4456287  27 de agosto de 2018
SQL Server 2014 SP2 CU12 12.0.5589.7 KB4130489 18 de junho de 2018
SQL Server 2014 SP2 CU11 12.0.5579.0 KB4077063 19 de março de 2018
SQL Server 2014 SP2 CU10 12.0.5571.0 KB4052725 16 de janeiro de 2018
SQL Server 2014 SP2 CU9 12.0.5563.0 KB4055557 18 de dezembro de 2017
SQL Server 2014 SP2 CU8 12.0.5557.0 KB4037356 16 de outubro de 2017
SQL Server 2014 SP2 CU7 12.0.5556.0 KB4032541 28 de agosto de 2017
SQL Server 2014 SP2 CU6 12.0.5552.0 KB4019094 17 de julho de 2017
SQL Server 2014 SP2 CU5 12.0.5546.0 KB4013098 17 de abril de 2017
SQL Server 2014 SP2 CU4 12.0.5540.0 KB4010394 21 de fevereiro de 2017
SQL Server 2014 SP2 CU3 12.0.5538.0 KB3204388 19 de dezembro de 2016
SQL Server 2014 SP2 CU2 12.0.5522.0 KB3188778 17 de outubro de 2016
SQL Server 2014 SP2 CU1 12.0.5511.0 KB3178925 25 de agosto de 2016
SQL Server 2014 SP2 12.0.5000.0 KB3171021 11 de julho de 2016

SQL Server 2014 Service Pack 1 (SP1) e atualização cumulativa (CU) compilações


Nome da atualização cumulativa Versão da compilação Número da base de dados de conhecimento Dia do lançamento
SQL Server 2014 SP1 CU13 12.0.4520.0 (build mais recente) KB4019099 17 de julho de 2017
SQL Server 2014 SP1 CU12 12.0.4511.0 KB4017793 17 de abril de 2017
SQL Server 2014 SP1 CU11 12.0.4502.0 KB4010392 21 de fevereiro de 2017
SQL Server 2014 SP1 CU10 12.0.4491.0 KB3204399 19 de dezembro de 2016
SQL Server 2014 SP1 CU9 12.0.4474.0 KB3186964 17 de outubro de 2016
SQL Server 2014 SP1 CU8 12.0.4468.0 KB3174038 15 de agosto de 2016
SQL Server 2014 SP1 CU7 12.0.4459.0 KB3162659 20 de junho de 2016
SQL Server 2014 SP1 CU6 12.0.4457.0 KB3167392 30 de maio de 2016
SQL Server 2014 SP1 CU6 (preterido) 12.0.4449.0 KB3144524 18 de abril de 2016
SQL Server 2014 SP1 CU5 12.0.4439.1 KB3130926 22 de fevereiro de 2016
SQL Server 2014 SP1 CU4 12.0.4436.0 KB3106660 21 de dezembro de 2015
SQL Server 2014 SP1 CU3 12.0.4427.24 KB3094221 19 de outubro de 2015
SQL Server 2014 SP1 CU2 12.0.4422.0 KB3075950 17 de agosto de 2015
SQL Server 2014 SP1 CU1 12.0.4416.1 KB3067839 19 de junho de 2015
SQL Server SP1 de 2014 12.0.4100.1 KB3058865 4 de maio de 2015

Compilações do SQL Server 2014 atualização cumulativa (CU)


Nome da atualização cumulativa Versão da compilação Número da base de dados de conhecimento Dia do lançamento
CU14 12.0.2569.0 (build mais recente) KB3158271 20 de junho de 2016
CU13 12.0.2568.0 KB3144517 18 de abril de 2016
CU12 12.0.2564.0 KB3130923 22 de fevereiro de 2016
CU11 12.0.2560.0 KB3106659 21 de dezembro de 2015
CU10 12.0.2556.4 KB3094220 19 de outubro de 2015
CU9 12.0.2553.0 KB3075949 17 de agosto de 2015
CU8 12.0.2546.0 KB3067836 19 de junho de 2015
CU7 12.0.2495.0 KB3046038 20 de abril de 2015
CU6 12.0.2480.0 KB3031047 16 de fevereiro de 2015
CU5 12.0.2456.0 KB3011055 17 de dezembro de 2014
CU4 12.0.2430.0 KB2999197 21 de outubro de 2014
CU3 12.0.2402.0 KB2984923 18 de agosto de 2014
CU2 12.0.2370.0 KB2967546 27 de junho de 2014
CU1 12.0.2342.0 KB2931693 21 de abril de 2014

Fontes e Direitos Autorais: Suporte da Microsoft – Versões de compilação do SQL Server 2014 – 14/12/2018 – https://support.microsoft.com/pt-br/help/2936603/sql-server-2014-build-versions

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

Informações obtidas nos últimos dias, informam que um servidor configurado incorretamente expôs online os números de CPF (Cadastro de Pessoas Físicas) de 120 milhões de brasileiros por um período desconhecido.


Um relatório da empresa InfoArmor, destaca que um servidor Web com Apache foi descoberto em março deste ano não estava configurado corretamente e expôs online os dados armazenados nele.

Por padrão, o Apache retorna o conteúdo de um arquivo chamado index.html quando ele está presente. Se um arquivo com este nome não existe e a listagem de diretórios está habilitada, ele exibirá então os arquivos, pastas e também possibilitará seu download.

Como é possível ver na imagem abaixo do servidor configurado incorretamente, alguém deve ter renomeado o arquivo index.html para index.html_bkp, o que fez com que o servidor listasse os arquivos e pastas com tamanhos variando de 27MB até 82GB:

Números de CPF de 120 milhões de brasileiros foram expostos online

Ao abrir um dos arquivos os analistas da InfoArmor descobriram que ele continua informações como números de CPF, informações pessoais, informações militares, números de telefone, informações sobre empréstimos e endereços:

Database Tables

Ao tentar entrar em contato com o proprietário do banco de dados enquanto ainda monitorava o diretório exposto, a InfoArmor viu o arquivo de 82GB ser substituído por um arquivo .sql com 25GB.

Com base nos tipos de arquivos armazenados e nos dados contidos neles, é possível que o diretório exposto estava sendo usado para armazenar backups de bancos de dados sem perceber que eles estavam expostos online.

No final de março o servidor foi reconfigurado e os arquivos deixaram de ser expostos publicamente, não é possível afirmar por quanto tempo os arquivos ficaram expostos antes do servidor configurado incorretamente ter sido descoberto pela InfoArmor e nem se criminosos tiveram acesso aos dados.

Fontes e Direitos Autorais: BleepIngComputer – Lawrence Abrams – 12/12/2018 – https://www.bleepingcomputer.com/news/security/taxpayer-id-numbers-for-120-million-brazilians-exposed-online; e

InfoArmor – Christian Less – Special Report: InfoArmor Finds 120 Million Brazilian Identities Exposed – 12/12/2018 – https://blog.infoarmor.com/employees/infoarmor-discovers-120-million-brazilian-identities-exposed

Windows Server 2019 terá OpenSSH como recurso opcional


A Microsoft informou no início desta semana em seu blog que o cliente e servidor OpenSSH agora está disponível oficialmente como recurso opcional no Windows Server 2019, ele também está disponível no Windows 10 v1809 (o Windows 10 October 2018 Update).

A versão para Windows foi introduzida inicialmente no Windows 10 Fall Creators Update e no Windows Server v1709 como uma versão de testes:

Windows 10 Openssh 001

A partir do lançamento do Windows 10 v1803, o OpenSSH começou a ser suportado oficialmente como um recurso opcional, entretanto no Windows Server, ele começa a ser introduzida nesta nova versão do sistema operacional, mas oficialmente suportado como recurso opcional:

Windows 10 Openssh 002
Windows 10 Openssh 003

A Microsoft anunciou em 2015 que estava trabalhando para incluir o suporte nativo para OpenSSH no Windows, o SSH ou Secure Shell é uma ferramenta de linha de comando presente no UNIX e em distribuições do Linux usada para realização de conexões criptografadas a servidores remotos.

Para mais informações acesse a página do projeto Win32-OpenSSH no GitHub ou através da documentação oficial Microsoft, acessando o Microsoft Docs.

Fontes e Direitos Autorais: Microsoft – Windows Blogs –  / Program Manager, PowerShell Team – 12/12/2018.

Short Scripts – Novembro 2018


Muito boa tarde, já estamos no mês de novembro, e este é mais um post da sessão Short Scripts.

Tudo bem? Já esta se preparando para as festividades de final de ano?

Eu particularmente ainda não, na verdade a grana esta curta então tenho que esperar um pouquinho….

Seguindo em frente, que alegria poder te encontrar em mais um post da sessão Short Scripts, uma das sessões mais recentes do meu blog que esta alçando a marca de 35 posts publicados trimestralmente.

Mantendo a tradição estou retornando com mais um conjunto de “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, estou compartilhando a minha feita a alguns meses no final do último post desta sessão, publicando mais um conjunto de scripts adicionados atualmente na minha biblioteca particular de códigos e exemplos.

O post de hoje

Normalmente compartilho os principais scripts armazenados nos últimos meses, no post de hoje vou fazer a mesma forma que o anterior, compartilhar scripts relacionados a um tema específico, sendo o tema de hoje a propriedade Identity(), desta maneira, você vai se deparar com alguns códigos que estejam envolvidos com este tema e que também se vinculem com outros, dentre os quais destaco:

  • Ativando e Desativando a propriedade Identity;
  • Capturando o último valor Identity;
  • Comando DBCC CheckIdenty();
  • Função Identity;
  • Ident_Current;
  • Realizando insert com a propriedade Identity;
  • Refazer numeração sequencial;
  • Scope_Identity;
  • Select Into;
  • Sequência Numérica;
  • Set Identity_Insert On / Off;
  • Tabela de sistema sys.indexes;
  • Tabela de sistema sys.objects;
  • Tabela de sistema sys.identity_columns;
  • Tabela de sistema sys.index_column; e
  • Variáveis de sistema @@Identity.

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Novembro 2018 . 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 a vontade para compartilhar, comentar e melhorar cada um destes códigos.

Short Scripts

— Short Script 1  – Ativando e Desativando a propriedade Identity() —

SET IDENTITY_INSERT NomedaTabela On
Go

SET IDENTITY_INSERT NomeDaTabela Off
Go

— Short Script 2  – Comando DBCC CheckIdent(), redefinindo a sequência Identity() —
Declare @Identity Int

— Obtendo o último valor Identity() —
Set @Identity=(Select Ident_Current(‘NomedaTabela’))

— Aplicando e redefinindo a sequência Identity através do último valor obtido —
DBCC CheckIdent(‘NomedaTabela‘,Reseed,@Identity)
Go

— Short Script 3  – Identificando se a chave primária possui a propriedade Identity aplicada —
Select O.Object_Id,
O.Name,
Case IC.is_identity
When 0 Then ‘Identity desabilitado’
When 1 Then ‘Identity habilitado’
End As ‘Identity’
From sys.objects O Inner Join sys.identity_columns IC
On O.object_id = IC.object_id
Where IC.is_identity=1

— Short Script 4  – Obtendo o último valor Identity de cada tabela —
SELECT sys.tables.name AS [Table Name],
sys.identity_columns.name AS [Column Name],
sys.types.name as Type,
last_value AS [Last Value]
FROM sys.identity_columns INNER JOIN sys.tables
ON sys.identity_columns.object_id = sys.tables.object_id
Inner join sys.types
on sys.types.user_type_id = sys.identity_columns.user_type_id
ORDER BY last_value DESC

— Short Script 5  – Resentando o valor Identity atualmente em uso — 
DBCC CHECKIDENT (‘NomedaTabela’, RESEED, 0)
Go

— Short Script 6 – Identificando o valor Identity atualmente em uso —
DBCC CHECKIDENT (‘NomedaTabela’, NORESEED)
Go

— Short Script 7 – Utilizando a função Identity() em conjunto com o comando Insert —

— Exemplo 1 —
Create Table Valores
(Codigo Int)

Insert Into Valores Values(1)
Go 100

Select Identity(Int, 2,2) As Linha, Codigo Into Registros from Valores
Go

— Exemplo 2 —
Select identity(int, 1,1) As Seq, name from sys.sysdatabases
Go

Muito bem, missão mais que cumprida! Uma nova relação de short scripts acaba de ser compartilhada, mesmo sendo denominados short entre aspas “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/2018/09/18/short-scripts-setembro-2018/

https://pedrogalvaojunior.wordpress.com/2018/05/10/short-scripts-maio-2018/

https://pedrogalvaojunior.wordpress.com/2018/02/19/short-scripts-fevereiro-2018-transaction-log/

https://pedrogalvaojunior.wordpress.com/2017/12/09/short-scripts-dezembro-2017/

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 somente em 2019, mais especificamente no mês de fevereiro.

Um forte abraço, lhe desejo um ótimo final de ano.

Até mais.