#24 – Para que serve


Olá, bom dia, que bom te ver por aqui, neste sabadão, estamos entrando na semana que antecede a maior festa do Brasil.

Seja bem-vindo a mais um post da sessão Para que Serve, sendo este o de número 24, mais um dia de muito começando, repleto de atividades e compromissos.

No post de hoje, vou compartilhar com você que esta acessando meu blog, um dos mais tradicionais recursos existentes no Microsoft SQL Server introduzido desde as versões iniciais do produto, e mantendo sempre atualizada, útil e principalmente um pouco perigoso de ser utilizada quando não se conhece.

De uma forma bem diferente e mais direta, não vou realizar suspense ou criar qualquer clima de expectativa sobre este tema, na verdade estou me referindo ao uso das Table Hints (dicas de tabelas), com certeza você já deve ter ouvido falar ou já utilizou pelo menos um delas, adianto que neste post não vou falar da mais conhecida a NoLock e sim de outras duas que também são importantes.

Sendo assim, chegou a hora de conhecer um pouco mais sobre o post de número 24 da sessão Para que serve. Mas uma vez, bem vindo ao #24 – Para que serve – Table Hint – UpdLock e TabLock.

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


Introdução

As dicas de tabela tem um papel muito importante a partir do momento que decidimos fazer uso delas, alterar o comportamento padrão do otimizador de consulta durante a instrução DML (linguagem de manipulação de dados) ao especificar um método de bloqueio, um ou mais índices, uma operação de processamento de consulta, como uma verificação de tabela ou busca de índice, ou outras opções. As dicas da tabela são especificadas na cláusula FROM da instrução DML e afetam apenas a tabela ou exibição referenciada nessa cláusula.

Mesmo sabendo que o otimizador de consulta do SQL Server normalmente seleciona o melhor plano de execução para uma consulta, muitos desenvolvedores e administradores de banco de dados tomam a decisão de fazer uso deste recurso em diversos cenários de forma indiscriminada.

As dicas de tabelas podem ao longo de sua utilização impactar de forma direta na maneira que o otimizador de consultas existente no Microsoft SQL Server trabalha desde o momento da identificação da análise da query e criação do seu plano de execução, mas principalmente no momento da própria execução.

Vale ressaltar que as table hints serão ignoradas se a tabela não for acessada pelo plano de consulta, isso pode ser provocado porque o query optimizer opta por não acessar a tabela ou porque uma exibição indexada é acessada, mas este cenário também pode ser contornado, quem sabe em outro momento.

Vamos em frente, sabendo que estas funcionalidades precisam ser um pouco mais conhecidas e melhor entendidas, tomei a decisão de elaborar este post, destacando as duas dicas de tabela que atualmente acabei me deparando em cenários de consultoria, me refiro a:

·         UpdLock; e

·         Tablock.

Desta forma, vou apresentar uma breve descrição destas duas dicas de tabelas, e posteriormente utilizar um simples cenário prático para demonstrar como podemos fazer uso de ambas, começando pela UpdLock.

Table Hint – UpdLock

Sendo está uma das mais antigas dicas de tabela existente no Microsoft SQL Server, reconhecida como uma table hint exclusiva para seu uso no comando update, o que na verdade não se aplicada, mesmo sendo este o cenário mais comum de uso podemos em determinados momentos aplicar a instruções Select e Insert.

Seu papel é especificar que bloqueios de atualização serão usados e mantidos até que a transação seja concluída. UpdLock utiliza bloqueios de atualização apenas em operações de leitura no nível de linha ou de página.

Caso o UpdLock venha a combinado com TabLock, ou se um bloqueio em nível de tabela for usado por outro motivo, um bloqueio exclusivo reconhecido pela sigla (x) será usado.

Importante destacar que sempre que um UpdLock é especificado, as dicas em nível de isolamento ReadCommitted e ReadCommittedLock são ignoradas, sendo assim, podemos em alguns cenários se deparar com a ocorrência de dados fantasmas.

Agora que conhecemos um pouco mais sobre esta table hint, vamos avançar um pouco mais e conhecer o seu funcionamento de forma prática, para tal, utilizaremos como base o Bloco de Código 1, que realizará a criação do seguinte ambiente:

·         Databases: TesteDatabaseTableHintUpdLock;

·         Tables: UpdLockTable; e

·         Transações: TUPD e TUPDII.

— Bloco de Código 1 —
— Criando o Banco de Dados – TesteDatabaseTableHintUpdLock —
Create Database TesteDatabaseTableHintUpdLock
Go

 

— Acessando o Banco de Dados – TesteDatabaseTableHintUpdLock —
Use TesteDatabaseTableHintUpdLock
Go

 

— Criando a Tabela – UpdLockTable —
Create Table UpdLockTable
(Codigo Int Identity(1,1) Not Null Primary Key Clustered,
Valores Varchar(20))
Go

 

Até aqui nada de especial, nosso ambiente já está criado e pronto para receber alguns dados, para tal, utilizaremos o Bloco de Código 2, responsável em realizar o insert e consulta dos dados, conforme apresento a seguir:

 

— Bloco de Código 2 —
— Inserindo uma pequena porção de dados —
Insert Into UpdLockTable
Values (‘Pedro’), (‘Antonio’), (‘Galvão’), (‘Junior’),
(‘MVP’), (‘MCC’), (‘MSTC’), (‘MIE’), (‘SQL Server’),
(‘Banco de Dados’),(‘Table Hint UpdLock’)
Go
— Consultando os dados —
Select Codigo, Valores From UpdLockTable
Order By Valores Desc
Go

 

A partir deste momento temos uma porção de dados armazenados em nossa table UpdLockTable, o que nos permite realizar uma pequena simulação de seu comportamento e entender como a ela realiza o bloqueio em nossa query.

 

Vamos então realizar a execução do Bloco de Código 3, sendo este o ponto chave que vai nortear nosso entendimento, observe que estamos abrindo um bloco transacional denominado TUPD (conforme já destacado anteriormente).

 

— Bloco de Código 3 —

— Iniciando um novo Bloco de Transações denominada TUPD —

Begin Transaction TUPD

 

— Realizando o Update —

Update UpdLockTable
Set Valores = ‘BD’
Where Codigo = 10
Go

 

Neste instante o Microsoft SQL Server em conjunto com alguns de seus mais importantes componentes: Database Engine e Storage Engine, estabelecem uma nova transação que deverá ser processada dentro da sessão que estamos trabalhando mais que a mesma não recebeu até o presente momento nenhuma instrução Commit ou Rollback.

 

No próximo passo a ser realizado aparentemente pode parecer bastante simples, mas após sua execução você vai entender que nenhum sempre é assim que as coisas podem ser interpretadas.

 

Seguindo em frente, vamos executar o Bloco de Código 4, o qual vai nos exigir abrir uma nova query dentro da ferramenta que você se encontra acessando o Microsoft SQL Server no momento, eu como de costume estou utilizando o bom e velho Management Studio.

 

— Bloco de Código 4 —

Select Codigo, Valores From UpdLockTable
Order By Valores Desc

Go

 

Acredito que você deva ter feito a execução deste simples bloco de código e até o presente momento o Microsoft SQL Server ainda não te retornou nenhum dado. Não é verdade?


A Figura 1 pode te ajudar a comprovar e responder este meu questionamento:

Figura 1 – Execução do bloco de código 4 sendo realizada e nenhum dado retornado em tela.

Viu, nem tudo que parece ser fácil realmente é! Mas o que pode ter acontecido?

 

Na verdade, o SQL Server está trabalhando da forma correta, realizamos o processamento de um comando Update dentro de um bloco de transações que ainda não foi encerrado e internamente o bloqueio da tabela foi aplicada de forma geral o que impede que quaisquer outras transações que venha a acessar a tabela como um todo consiga.

 

Mas se você observou em nosso Bloco de Código 3 não fizemos uso da table hint UpdLock, é justamente este o ponto chave, a partir do momento em que fazemos uso desta dica de tabela teremos a capacidade de acessar nossos dados mesmo que estes se encontrem dentro de outra transação ou bloqueio.

 

Para confirmar esta mudança de comportamento, vamos executar agora o Bloco de Código 5 e logo na sequência abrir uma nova query e observar o resultado apresentado na Figura 2:

 

— Bloco de Código 5 —

RollBack Transaction TUPD — Encerrando a transação anterior

Go

 

 

— Realizar novamente o Update agora com UpdLock e Abrir nova Sessão —
Begin Transaction TUPDII

 

Update UpdLockTable With (UpdLock)
Set Valores = ‘Forçando UpdLock’
Where Codigo = 11
Go

Figura 2 – Select realizado em outra query mesmo com a transação TUPDII ainda não encerrada.

Show, não é verdade, neste momento o Microsoft SQL Server acaba de retornar nossos dados manipulados na tabela UpdLock a qual se encontra pertencente a um bloqueio de atualizações de dados que pode estar sendo aplicado no nível de linha ou página de dados (mas este comportamento e estudo vou deixar para outro momento).

 

Com isso, conhecemos a table hint UpdLock, ainda não terminamos nossa caminhada, podemos evoluir mais um pouco nesta jornada, conhecendo agora a dica de tabela TabLock na sequência.

 

Table Hint – TabLock

Também uma das mais tradicionais dicas de tabela, e durante minha pesquisa e entendimento sobre esta table hint, cheguei a conclusão que a ela é muito misteriosa, devido ao seu comportamento.

Aonde a mesma tem a função de especificar que o bloqueio adquirido seja aplicado no nível de tabela, o tipo de bloqueio que é adquirido depende da instrução que está sendo executada.

Por exemplo:

1.      Uma instrução Select pode adquirir um bloqueio compartilhado. Ao especificar TABLOCK, o bloqueio compartilhado é aplicado à tabela inteira, e não no nível de linha ou página. Se HoldLock também for especificado, o bloqueio de tabela será mantido até o final da transação; e

2.      Ou então quando usado com o provedor de conjuntos de linhas em massa através do uso de uma instrução OPENROWSET para importar dados em uma tabela, TabLock permite que vários clientes carreguem dados simultaneamente na tabela de destino com o registro em log e o bloqueio otimizados.

Estamos preparados para seguir em frente, conhecemos um pouco mais sobre esta table hint, chegou a hora de conhecer o seu funcionamento de forma prática, para tal, utilizaremos como base o Bloco de Código 6, que realizará a criação do seguinte ambiente:

·         Databases: TesteDatabaseTableHintTabLock;

·         Tables: TabLockTable; e

·         Transações: TTBL e TTBLII.

— Bloco de Código 6 —
— Criando o Banco de Dados – TesteDatabaseTableHintTabLock —
Create Database TesteDatabaseTableHintTabLock
Go

— Acessando o Banco de Dados – TesteDatabaseTableHintTabLock —
Use TesteDatabaseTableHintTabLock
Go

 

— Criando a Tabela – TabLockTable —
Create Table TabLockTable
(Codigo Int Identity(1,1) Not Null Primary Key Clustered,
Valores Varchar(20))
Go

 

Até aqui nada de especial, nosso ambiente foi criado, preparado para receber alguns dados, para tal, utilizaremos o Bloco de Código 7, responsável em realizar o insert e consulta dos dados, conforme apresento a seguir:

 

— Bloco de Código 7 —

— Inserindo uma pequena porção de dados —
Insert Into  UpdLockTable
Values (‘Pedro’), (‘Antonio’), (‘Galvão’), (‘Junior’),
(‘MVP’), (‘MCC’), (‘MSTC’), (‘MIE’), (‘SQL Server’),
(‘Banco de Dados’),(‘Table Hint TabLock’)
Go

 

— Consultando os dados —
Select Codigo, Valores From UpdLockTable
Order By Valores Desc

Go

 

Nossa porção de dados encontra-se armazenados em nossa table TabLockTable, o que nos permite realizar uma pequena simulação de seu comportamento e entender como ela realiza o bloqueio em nossa query.

 

Vamos então realizar a execução do Bloco de Código 8, sendo este o ponto chave que vai nortear nosso entendimento, observe que estamos abrindo um bloco transacional denominado TTBL (conforme já destacado anteriormente).

 

— Bloco de Código 8 —

— Iniciando um novo Bloco de Transações denominada TTBL —

Begin Transaction TTBL

 

 

— Utilizando o TabLock —
Begin Transaction TTBL

 

Declare @Contador TinyInt = 1

 

Select ‘Início…’

 

While @Contador < 255
BeginUpdate TabLockTable
Set Valores = @Contador
Where Codigo = 10

 

Select Valores From TabLockTable
Where Codigo = 10

 

Set @Contador += 1
End

 

Select ‘Fim…’

Go

 

Observação: Você deve ter notado um pouco de lentidão na execução de bloco de código, bem como, o uso de alguns comandos e técnicas que podem ser melhoradas ou até mesmo substituídas, ressalto que o mesmo não possui o objetivo de ser executado no menor tempo possível ou até mesmo ser entendimento como uma técnica para inserção de dados. Este bloco de código foi criado e elaborado somente para esta prática, sem qualquer finalidade de uso em cenários reais.

 

Dando continuidade, enquanto nosso Bloco de Código 8 é processado, vamos abrir uma nossa query e executar o Bloco de Código 9 e observar se algo de errado ou diferente acontece:

 

— Bloco de Código 9 —
— Inserindo uma nova linha de registró lógico na TableTableLock durante o processamento do bloco de código 8 —

Insert Into TabLockTable Values (‘Teste TabLock’)
Go

 

Tenho a certeza que você imaginava que o SQL Server iria demorar para processar nossa query ou simplesmente não iria retornar nada em tela, da mesma forma que a UpdLock.

Não!

 

Ele mais uma vez está trabalhando de forma certa, da mesma maneira que fizemos anteriormente não utilizamos de forma proposital a table hint TabLock em nosso bloco de código, algo que vamos realizar agora utilizando os blocos de código 10 e 11, declarados a seguir:

 

— Bloco de Código 10 —

Rollback Transaction TTBL — Encerrando a transação anterior —

Go

 

 

— Adicionar TabLock —
Begin Transaction TTBLII

 

Declare @Contador TinyInt = 1

 

Select ‘Início…’

While @Contador < 255
BeginUpdate TabLockTable With (TabLock)
Set Valores = @Contador
Where Codigo = 10

 

Select Valores From TabLockTable
Where Codigo = 10

Set @Contador += 1
End

 

Select ‘Fim…’
Go

 

— Bloco de Código 11 —

— Abrir nova query e realizar Insert vai ocorrer bloqueio —
Insert Into TabLockTable Values (‘Teste TabLock II’)
Go

 

Para nossa surpresa, o Bloco de Código 10 já deve ter sido processado, mas o 11 ainda se encontra em processamento, a Figura 3 apresentada abaixo, comprova este comportamento:

Figura 3 – Bloco de código 11 ainda em execução, aguardando algum retorno do bloco de código 10, mesmo após sua execução.

Você pode estar questionamento a si mesmo, o porquê deste comportamento por parte do nosso Microsoft SQL Server. Não precisa ficar preocupado, por padrão o Database Engine em conjunto com o Storage Engine estão aplicando em tempo de execução um bloqueio em nossa tabela TabLockTable, ou seja, a mesma ficou bloqueada pela operação de Update que nos disparamos no bloco de código 10 em conjunto table hint TabLock.

 

Para que possamos concluir a execução do Bloco de Código 11, precisamos encerrar nossa transação aberta anteriormente denominada TTBLII, para tal vamos executar o Bloco de Código 12 dentro da mesma query utilizada para executar o Bloco de Código 10:

 

— Bloco de Código 12 —

— Confirmando e encerrando a transação TTBLII dentro da mesma sessão do bloco de código 10 —

Commit Transaction TTBLII
Go

 

E como um passe de mágica, o Bloco de Código 11 foi encerrado simultaneamente após o processamento do Bloco de Código 12.

Vou deixar para que você mesmo comprove este resultado.

 

Não é algo realmente surpreendente, como a mesma funcionalidade utilizada de formas similares ou parecidas possa ser comportar de maneiras tão diferentes.

 

Eu sou suspeito a dizer, mas não podemos dizer que isso é um passe de mágicas ou truque, ao contrário, existe um conjunto de propriedades relacionadas ao controle de transacional e bloqueios que os Sistemas Gerenciadores de Bancos de Dados utilizam para garantir que tudo funcione da melhor forma possível chamado ACID:

 

  • Atomicidade;
  • Consistência;
  • Isolamento; e
  • Durabilidade.

 

Quem sabe em um outro post eu aborde este tema, por hoje, vou ficando por aqui.

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://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table

http://sqlissuessa.blogspot.com/2016/07/table-hints-transact-sql.html#!

https://sqlhelp.wordpress.com/2009/01/13/table-hints-transact-sql/

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/d2e78faa-9c79-4faf-8232-5ae08a5dd23e/sql-table-hints-not-working-updlock-holdlock

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/a7536fc4-ed1e-44aa-a16b-d4dc9ca6cd70/what-is-the-difference-between-holdlock-and-updlock-in-sql-server

https://www.sqlservercentral.com/Forums/Topic1227171-392-1.aspx

http://www.sql-server-performance.com/2004/2000-table-hints/

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

https://pedrogalvaojunior.wordpress.com/tag/trace-flag/

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/12/21/23-para-que-serve/

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

Mais uma vez podemos observar como o Microsoft SQL Server apresenta um conjunto tão grande de funcionalidades, realizando uma forma totalmente diferente e especifica para cenários simulares em suas estruturas de código, mas que durante sua execução pode ser entendida de uma maneira muito particular.

Neste post podemos conhecer, aprender e visualizar como as table hints UpdLock e TabLock são utilizadas, seus comportamentos, e principalmente como os bloqueios realizados por ambas podem ser aplicar para um mesmo cenário no caso o uso do comando Update dentro de um bloco de transações.

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 maio de 2019.

Um grande abraço e ótimo final de semana.

Valeu.

Microsoft define “Santorini” como novo codinome para o futuro Windows Lite


See the source image

No final do ano passado, alguns os relatórios apresentando dados de um possível novo sistema operacional Microsoft chamado  “Windows Lite ” começaram a surgir. Detalhes faziam referência a um sistema operacional construído no Windows Core OS, que visa assumir o Chrome OS com novas experiências de usuário e um foco na Web. 

De acordo informações divulgadas recentemente na internet, a Microsoft internamente esta utilziando o codinome  “Santorini” para falar sobre o Windows Lite. Não está claro por que exatamente a Microsoft também está usando este codinome.

O Windows Lite não é uma versão menor do Windows; é uma experiência inteiramente nova, para o que podemos chamar de computação de pouco peso. Provavelmente não vai mesmo ser chamado Windows por causa disso, talvez este possa ser o motivo da escolha deste codiname, o qual tem sua origem e faz referência, a uma das ilhas gregas Cíclades no mar Egeu.

 

Vale destacar que outros codinomes também foram utilizados para representar o Windows Lite, dentre eles: Oasis e Aruba, sendo este último codinome presente em alguns produtos que a Microsoft apresentou no Ignite 2018.

Rumores sugerem que a Microsoft está planejando falar sobre o Windows Lite em sua conferência Build Developer em maio, se assim for, será a primeira vez que o público recebe uma prévia de Santorini, a versão do Windows Core OS que provavelmente veremos o envio em PCs dobráveis e laptops mais tradicionais e 2-em-1s, os quais estão sendo tratados com os codinomes  “Centaurus ” e  “Pegasus “, respectivamente.

Fontes e Direitos Autorais: WindowsCentral.com – Zac Bowden – 22/02/2019.
Leia na integra acessando: https://www.windowscentral.com/microsofts-windows-lite-project-gets-new-codename

Novo Microsoft SQL Server Migration Assistant v8.0 disponível


A Microsoft liberou nesta semana o Microsoft SQL Server Migration Assistant v8.0, ferramenta gratuita que permite a migração de dados existentes em outras soluções de bancos de dados, como: 

De uma forma bastante simples e prática é possível consumir os dados armazenados nas soluções listadas acima, enviando os mesmos diretamente para o Microsoft SQL Server e Microsoft Azure SQL.

O Microsoft SQL Server Migration Assistant v8.0 é compatível com o sistemas operacionais:

  • Windows 7;
  • Windows 8;
  • Windows 8.1;
  • Windows 10;
  • Windows Server 2008 R2;
  • Windows Server 2012;
  • Windows Server 2012 R2; e
  • Windows Server 2016.

Esta nova versão do Microsoft SQL Server Migration Assistant  inclui o suporte para:

– MySQL 4.1 e posteriores para todas as edições do SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, Azure SQL DB e Azure SQL Database Managed Instance;

–  Access 97 e posteriores para todas as edições do SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, Azure SQL DB e Azure SQL Database Managed Instance;

– SAP Adaptive Server Enterprise (ex-Sybase) 11.9 e posteriores para todas as edições do SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, Azure SQL DB e Azure SQL Database Managed Instance;

–  Oracle Database 9.0 e posteriores para todas as edições do SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, Azure SQL DB, Azure SQL Data Warehouse e Azure SQL Database Managed Instance; e

– IBM DB2 9.0 e 10.0 no z/OS e das versões 9.7 e 10.1 no Linux/Unix/Windows para o SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017,SQL Server 2019, Azure SQL DB e Azure SQL Database Managed Instance.

Microsoft SQL Server Migration Assistant v8.0

O download pode ser realizado de acordo com sua fonte de dados de origem, selecione uma das opções existentes abaixo:

Recursos adicionais

Fontes e Direitos Autorais: Microsoft.com – Download Center – https://www.microsoft.com/en-us/download

Microsoft começa a testar atualizações de recursos do Windows 10 previstos para 2020


Microsoft apenas lançou seu primeiro “skip ahead “ do Windows 10 para insiders, mas este vem com uma considerável diferença em relação aos ciclos anteriores.

Em vez de testar compilações que são para a próxima atualização do recurso do Windows 10, codinome 19H2, o atual time de insiders anel skip ahead recebeu hoje uma compilação 20H1, fazendo com que a próxima atualização do recurso do Windows 10 agendada para 2020 comece a ser conhecida.

A partir de agora, a maioria da equipe do Windows está trabalhando duro na próxima atualização de recursos do Windows 10, codinome 19H1 e programada para lançamento este ano.

Esta atualização inclui novidades como um novo tema de luz, melhorias para o centro de ação, Windows sandbox, entre outros itens. O 19H2 é a atualização agendada para este ano, e não está em testes com insiders ainda.

Microsoft flights Windows 10 build 18836 to Skip Ahead Insiders with 20H1 changes

Então, é surpreendente ver a Microsoft começar Flighting para o 20H1  em plena fase de voos para insiders que estão trabalhando Skip Ahead tão brevemente, sabendo que boa parte das atualizações referentes ao ciclo 2019 ainda estão em fase de testes.

O gigante Redmond diz que a razão de já estar trabalhando no 20H1 é porque o seu trabalho em novos recursos que requerem um tempo de execução muito maior, na qual a empresa se encontra pisando em território especulativo, que isso tem algo a ver com o Windows Core OS ou CShell.

Fontes e Direitos Autorais: WindowsCentral.com – Zac Bowden – 14/02/2019.
Leia na integra acessando: https://www.windowscentral.com/microsoft-starts-testing-next-years-windows-10-feature-updates

Microsoft Visual Studio 2019 – Lançamento oficial em 02 de Abril


No decorrer desta semana a Microsoft informou na página oficial do Visual Studio, a data de lançamento oficial da próxima versão conhecida como 2019.

A Microsoft lançou o primeiro preview do Visual Studio 2019 em dezembro de 2018, mas ela está se preparando para iniciá-lo a todos em breve. Visual Studio 2019 terá um evento formal para seu lançamento, muito em breve, no dia em 2 de abril, um dia inteiro repleto de sessões sendo transmitido ao vivo e Q&A de oportunidades para desenvolvedores disponível mundo a fora.

Visual Studio 2019 virá com várias melhorias, incluindo vários ajustes da interface do usuário e AI. A alteração mais óbvia se relaciona com sua nova tela de início, que foi redesenhada para trabalhar com repositórios Git. Uma vez que você começou um projeto, você vai notar mais mudanças de interface do usuário, como um novo ícone, um tema azul e uma interface mais limpa.

Além disso, a inclusão do chamado IntelliCode AI permite ao Visual Studio poder ser treinado em seus próprios repositórios, tornando-o melhor em sugerir padrões que são comuns aos projetos de codificação.

O mais recente lançamento também inclui compartilhamento que possibilita conhecer este novo padrão de desenvolvimento, algo que oferecer a quem esta utilizando o Visual Studio colaborar com outros em projetos de codificação.

Existem também melhorias de desempenho mais gerais, e você pode ter uma noção completa do que é novo com Visual Studio 2019, verificando notas de versão da Microsoft.

Para obter mais informações sobre o evento dedicado ao lançamento desta nova versão, acesse: Visual Studio 2019.

Fontes e Direitos Autorais: WindowsCentral.com – Dan Thorp-Lancaster  – 14/02/2019.

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