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

Anúncios

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

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


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

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

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

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

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

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

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

Retrospectiva 2018 – Um ano muito diferente na minha vida


Alô você, boa noite…

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

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

Introdução

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

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

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

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

Janeiro

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

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

Destaques:

#19 – Para que serve

Dica do Mês – SQL Setup ToolSuite Introduction

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

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

Fevereiro

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

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

Destaques:

Material de Apoio – Fevereiro 2018

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

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

Short Scripts – Fevereiro 2018 – Transaction Log

Março

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

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

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

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

Destaques:

Script Challenge – 13 – A resposta….

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

Microsoft SQL Server – Audit Events – Identifying File Shrink Events

Microsoft SQL Server – Audit Events – Auto Database Growth Information

Abril

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

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

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

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

Destaques:

Material de Apoio – Abril 2018

#20 – Para que serve

Microsoft libera Cumulative Update #6 para SQL Server 2017 RTM

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

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

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

Manage the suspect_pages Table on SQL Sever 2017

Maio

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

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

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

Destaques:

Short Scripts – Maio 2018

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

#21 – Para que serve

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

Page considered Suspect in SQL Server 2017

Microsoft SQL Server – TempDB – Number of Reads and Writes

Microsoft SQL Server – TempDB – Monitoring space used by queries

Junho

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

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

Destaques:

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

Material de Apoio – Junho 2018

Script Challenge – 2018 – Post 14

Entering random data into a table

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

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

Julho

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

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

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

Destaques:

Windows Server 2019 Preview build 17709 disponível para download

Microsoft SQL Server 2017 Cumulative Update 9 disponível

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

Microsoft SQL Server-Creating an annual calendar with holidays

Microsoft SQL Server-Identifying indexes that present duplicate columns

User Stored Procedure for Backup of user databases

Agosto

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

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

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

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

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

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

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

Destaques:

Material de Apoio – Agosto 2018

#22 – Para que serve

Microsoft SQL Server 2017 – Cumulative Update 10

Windows Admin Center Preview v1808 disponível

Microsoft SQL Server-transaction relationship using Transaction Log

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

Setembro

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

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

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

Destaques:

Short Scripts – Setembro 2018

Microsoft oficializa a disponibilidade geral do novo Office 2019

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

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

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

Outubro

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

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

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

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

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

Destaques:

Microsoft divulga a disponibilidade do novo Microsoft Windows Server 2019

Microsoft Hyper-V Server 2019 disponível

Script Challenge – 14 – A resposta….

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

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

Material de Apoio – Outubro 2018

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

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

Novembro

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

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

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

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

Destaques:

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

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

Microsoft SQL Server 2019 Preview 2.1 liberado

Short Scripts – Novembro 2018

Microsoft SQL Server 2014 SP3 liberado para download

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

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

Dezembro

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

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

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

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

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

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

Destaques:

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

Quatro novos tema para Windows 10

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

Microsoft 365 Insider Program anunciado pela Microsoft

Material de Apoio – Dezembro 2018

#23 – Para que serve

Retrospectiva 2018 – Um ano muito diferente na minha vida

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

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

Conclusão

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

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

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

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


Agradecimento

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

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

Abraços.

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


Publicado em seu canal no YouTube a Microsoft divulgou um vídeo, apresentando os novos ícones para os aplicativos do Office 365. A última grande mudança nos ícones do Office foi com o lançamento do Office 2013 anos atrás.

A Microsoft criou novos ícones para o Word, Excel, PowerPoint, OneNote, Outlook e também para outros produtos que fazem parte do Office 365 para empresas como o SharePoint, Microsoft Teams e Skype:

Microsoft apresenta novos ícones para os aplicativos do Office 365

De acordo com o anúncio da Microsoft, os novos ícones para os aplicativos do Office 365 estarão disponíveis para todas as plataformas nos próximos meses. Segundo Jon Friedman –  Head of Microsoft Office design: “Design está se tornando o coração e a alma do Office. Saiba como evoluímos nossa identidade visual para refletir as experiências simples, poderosas e inteligentes do Office 365.” Eles serão disponibilizados primeiro nos aplicativos móveis e na versão Web.

Um detalhe que chama a atenção é que o vídeo também mostra novos ícones para outros aplicativos do próprio Windows 10, como Email, Calendário, Notícias, Fotos e Calculadora.

Diferente dos ícones para os aplicativos do Office, ainda não se sabe quando os novos ícones para os aplicativos do Windows 10 estarão disponíveis.

Vídeo apresentando os novos ícones para os aplicativos do Office 365:

Sistemas visuais flexíveis que funcionam em plataformas, dispositivos e gerações.

Nossa solução do projeto era dissociple a letra e o símbolo nos ícones, criando essencialmente dois painéis (um para a letra e um para o símbolo) que nós podemos emparelhar ou separar. Isso nos permite manter a familiaridade enquanto ainda enfatizando a simplicidade dentro do aplicativo.

Separando-os em dois painéis também acrescenta profundidade, que faíscas oportunidades em contextos 3D. Através deste sistema flexível, mantemos a tradição viva enquanto suavemente empurrando o envelope.

Projetos centrados no homem que enfatizam o conteúdo e refletem a velocidade da vida moderna

Fontes e Direitos Autorais – Jon Friedman – https://medium.com/microsoft-design/redesigning-the-office-app-icons-to-embrace-a-new-world-of-work-91d72608ee8f

Quatro novos tema para Windows 10


A Microsoft disponibilizou na semana passada para download na Microsoft Store quatro novos temas para o Windows 10: Snowy Mountains, Frosty Art, Field of Poppies e Up in the Sky.

Cada tema apresenta uma grande variedade de papéis de parede, além de imagens de alta qualidade e de grande beleza.

O tema Snowy Mountains inclui 18 papéis de parede, o tema Frosty Art incui 20 papéis de parede, o tema Field of Poppies inclui 16 papéis de parede e o tema Up in the Sky também inclui 16 papéis de parede.

Clique nas imagens para baixar os quatro novos temas para o Windows 10:

Microsoft disponibiliza quatro novos temas para o Windows 10
Snowy Mountains
W10 Tema 2 De 4
Frosty Art
W10 Tema 3 De 4
Field of Poppies

W10 Tema 4 De 4Up in the Sky

Fontes e Direitos Autorais: Microsoft.com.br – 03/12/2018.

Microsoft SQL Server 2016 SP1 – Atualização Cumulativa 8 disponível


A Microsoft disponibilizou para download recentemente a Atualização Cumulativa 8 para SQL Server 2016 SP1.

As informações obtidas através do artigo KB4077064 publicado no site de suporte da Microsoft, esta atualização traz correções decorrentes dos problemas apresentados e identificados após o lançamento do SP1 e das atualizações cumulativas anteriores.

Relação de Atualizações Cumulativas disponíveis para o Microsoft SQL Server 2016 Service Pack 1:

SQL Server 2016 SP1 CU7
SQL Server 2016 SP1 CU6
SQL Server 2016 SP1 CU5
SQL Server 2016 SP1 CU4
SQL Server 2016 SP1 CU3
SQL Server 2016 SP1 CU2
SQL Server 2016 SP1 CU1
SQL Server 2016 SP1
SQL Server 2016 all builds

Hotfixes que estão incluídos neste pacote de atualização cumulativa


Número do bug do VSTS Número do artigo KB Descrição Área de correção
11190572 4074696 CORREÇÃO: Operação de análise falha e retorna um erro de nível de linha não-administradores no SSAS 2016 (modelo de tabela) Serviços de análise
11403782 4058565 CORREÇÃO: Erro de asserção ao executar um procedimento armazenado que faz referência a um objeto grande no SQL Server de 2014, 2016 e 2017 Desempenho de SQL
11455726 4074862 CORREÇÃO: Erro inesperado ao criar um subcubo em 2016 Analysis Services do SQL Server (modelo Multidimensional) Serviços de análise
11444126 4074881 CORREÇÃO: Erro de asserção quando os dados são inseridos em massa em uma tabela que contém índices columnstore não estão em cluster e de cluster no SQL Server 2016 Mecanismo SQL
11441098 4017445 CORREÇÃO: Um segmento de REFAZER não está disponível na réplica secundária depois que um banco de dados de disponibilidade é descartado no SQL Server Alta disponibilidade
10988062 4038932 CORREÇÃO: Change Data Capture funcionalidade não funciona no SQL Server Serviços de integração
11405602 4046745 CORREÇÃO: Declaração UPDATE falha silenciosamente quando você faz referência a uma função de partição inexistente na cláusula WHERE no SQL Server de 2014 2016 ou 2017 Mecanismo SQL
11405606 4048967 CORREÇÃO: Não é possível habilitar ou desabilitar a captura de dados de alteração para um banco de dados depois de anexar no SQL Server de 2014 2016 ou 2017 Mecanismo SQL
11405621 4054398 CORREÇÃO: Varejo “Comparação inválida devido a nenhum AGRUPAMENTO” assert ocorre no SQL Server de 2014, 2016 e 2017 Mecanismo SQL
11297169 4013247 CORREÇÃO: Assinaturas do SSRS falham na execução de um relatório que se conecta a uma lista do SharePoint externo O Reporting Services
11396933 2932559 CORREÇÃO: Totais estão errados depois de filtrar em um item de tabela dinâmica e remover o filtro no SSAS Serviços de análise
11511975 4077105 CORREÇÃO: Erro de falta de memória quando o espaço de endereço virtual do processo do SQL Server é muito baixo em SQL Server Mecanismo SQL
11455724 4082865 CORREÇÃO: O SSAS falha quando uma consulta é executada em uma grande tabela particionada no SQL Server 2016 Serviços de análise
11456360 4083949 CORREÇÃO: SSAS pode apresentar falha quando você executa uma consulta DAX usando-se um usuário não-administrador do Windows no SQL Server 2016 Serviços de análise
11511973 4057307 CORREÇÃO: Modo Multidimensional trava aleatoriamente e uma violação de acesso ocorre no SSAS 2016 ou no SSAS 2014 Serviços de análise
11509590 4086136 CORREÇÃO: O SSAS para de responder quando você executa uma consulta MDX no SQL Server 2016 Analysis Services (modelo Multidimensional) Serviços de análise
11426456 4087358 CORREÇÃO: Sequência de caracteres de conexão baseada em expressão é limpo quando você configurar fontes de dados para o relatório de 2016 SSRS O Reporting Services
11508542 4088901 CORREÇÃO: Falha de afirmação ao sys.dm_db_log_space_usage instrução é executada em um instantâneo de banco de dados no SQL Server 2016 Alta disponibilidade
11183472 4089324 CORREÇÃO: Erro 15665 quando você chamar sp_set_session_context repetidamente com o valor da chave nula no SQL Server 2016 Mecanismo SQL
11565899 4089099 CORREÇÃO: Leva muito tempo para restaurar um banco de dados criptografado TDE backup no SQL Server Mecanismo SQL
11529110 4089623 CORREÇÃO: Memória insuficiente ocorre e consulta falhar quando você executa a consulta MDX com opção não vazios no SSAS 2016 e SSAS 2014 Serviços de análise
11053682 4089950 Atualização para dar suporte à eliminação de partições em planos de consulta que têm índices espaciais no SQL Server 2016 Desempenho de SQL
11323371 4090025 CORREÇÃO: Mascaramento aleatório não colocar máscara em valores BIGINT corretamente no SQL Server Segurança do SQL
11456072 4090032 CORREÇÃO: Memória obtém esgotada ao executar o relatório de BI de energia que executa a consulta DAX no modo multidimensional do SSAS 2016 Serviços de análise
11569422 4089948 CORREÇÃO: Bloqueio de consulta Intra quando os valores são inseridos em um índice particionado columnstore em cluster no SQL Server 2016 Mecanismo SQL
11281514 4052131 CORREÇÃO: DMV sys.dm_os_windows_info retorna valores errados para 10 do Windows e Windows Server 2016 Mecanismo SQL
11301441 4058700 CORREÇÃO: Erro de 9004 intermitente quando um backup é restaurado por meio do modo de espera no SQL Server 2014 Mecanismo SQL
11336087 4057615 CORREÇÃO: Erro de “Sintaxe incorreta próximo a palavra-chave ‘KEY'” quando você adiciona uma tabela Oracle com coluna principal chamada ‘KEY’ no SQL Server 2016 Serviços de integração
11339410 4058289 CORREÇÃO: A instrução ALTER procedimento com criptografia falha quando você criptografa um procedimento armazenado não publicados no SQL Server 2016 Mecanismo SQL
11420793 4058747 CORREÇÃO: Erro ao atualizar o banco de dados do SSIS catálogo na Standard Edition do SQL Server 2016 Serviços de integração
11457917 4077683 CORREÇÃO: Sp_execute_external_script de procedimento armazenado do sistema e memória do DMV sys.dm_exec_cached_plans causa vazamento no SQL Server 2016 e 2017 Mecanismo SQL
11447600 4038881 CORREÇÃO: Exceção inesperada ocorre quando você processar dimensões usando o processo de atualização no SSAS 2016 Serviços de análise
11309597 4073393 CORREÇÃO: erro “área de dados passada para uma chamada do sistema é muito pequena” ao iniciar um aplicativo de área de trabalho de ponte em um SQL Server de 2014 2016 e 2017 Mecanismo SQL
11446129 3192154 Uma opção de plano de consulta não ideal faz com que o desempenho ruim quando valores fora do intervalo representado nas estatísticas serão pesquisados em SQL Server 2016 e 2017 Desempenho de SQL
11548517 3147012 CORREÇÃO: Uso de pontos de verificação de disco grandes ocorre para um grupo de arquivos de memória otimizada durante cargas de trabalho pesadas de memória OLTP de memória
11559191 4058174 CORREÇÃO: Contenção de tempdb pesada ocorre no SQL Server 2016 Mecanismo SQL
11516257 4087406 CORREÇÃO: Erro 9002 quando não houver nenhum espaço em disco suficiente para o crescimento de log crítica no SQL Server 2014 e 2016 Mecanismo SQL
11444654 4090486 CORREÇÃO: Backup gerenciado não processa renomear nome de banco de dados para um novo nome com espaços no SQL Server 2016 à direita Ferramentas de gerenciamento
11704293 4078596 CORREÇÃO: Violações de acesso aleatórias ocorrem quando você executa o procedimento armazenado no SQL Server 2016 de monitoramento Mecanismo SQL
11545426 4089276 Melhora o desempenho de consulta quando um filtro de bitmap otimizado é aplicado a um plano de consulta no SQL Server 2016 e 2017 Mecanismo SQL
11532381 4089819 CORREÇÃO: erro “esgotado durante a espera de registrador de divisão de buffer – tipo 4” quando você usa grupos de disponibilidade no SQL Server 2016 ou 2017 Alta disponibilidade

Resoluções adicionais

Soluções para os seguintes problemas também estão incluídas no SQL Server 2016 SP1 CU8.

Número do bug do VSTS Descrição
11701162 Um erro de declaração ocorre quando você parar a propagação automática de um grupo de disponibilidade.
11704344 DAX consultas são executadas mais lentamente que antes após você fazer backup de um banco de dados do SSAS tabular.
11704240 PolyBase falha se PolyBase contadores estão ausentes ou corrompidos no Monitor de desempenho do Windows.
11704339 Melhora o desempenho de consulta quando for aplicado um filtro de bitmap otimizado para o plano de consulta.
11704329 Recuperação paralela falha com um tempo limite trava de buffer em uma réplica de um grupo de disponibilidade sempre no secundário.
11701219 A linha de tendência do KPI não é atualizada quando o conjunto de dados é atualizado.
11704269 Adiciona o suporte do uso de um banco de dados do SQL Server 2017 como uma fonte de dados de um modelo de DirectQuery tabular no SSAS 2016.
11704293 Violações de acesso aleatórias ocorrem quando você executa [dbo]. [usp_CollectWhoIsActiveData] no SQL Server 2016.
11704335 Replicação de dados da Oracle para SQL falha quando você atualizar o CU7 para o SQL Server 2016 SP1.

Dentre os mais diversos bugs identificados e corrigidos destaco um bem específico relacionado a backups de bancos de dados criptografados através do recurso TDE que apresentavam um longo de restauração, sendo este o bug de número: 11565899, artigo KB: 4089099.

Vale ressaltar que após a atualização desta nova atualização cumulativa, o número do build utilizado pelo Microsoft SQL Server 2016 SP1 será alterado para compilação: 13.0.4474.0.

Para realizar o download clique na imagem abaixo:

Fontes e Direitos Autorais: Suporte da Microsoft – https://support.microsoft.com/pt-br/help/4077064.

Dica do Mês – Conhecendo a Álgebra Relacional e seus operadores


Olá, boa noite, tudo bem comunidade?

Como é bom poder curtir alguns dias de descanso que mais um feriadão, aproveitar para recarregar as baterias, renovar as ideias e se preparar para mais um mês que esta chegando, e se estamos chegando ao final de mais um mês é hora de compartilhar e postar mais um post dedicado a dica do mês. Falando nisso, a dica do mês de hoje será um pouco diferente das últimas postados aqui no meu blog.

Atendendo aos pedidos de alguns internautas que me enviaram e-mails nos últimos dias, como também, para alegrar os meus alunos, vou postar um pouco de conteúdo acadêmico, algo mais conceitual relacionado a teoria de banco de dados. Neste post vou falar um pouco sobre um dos assuntos mais importantes relacionadas a teoria geral de banco de dados, estou me referindo a Álgebra Relacional, ou como eu gosto de dizer a matemática do relacionamento de banco de dados.

Então lá nessa, espero que você goste e também aprenda um pouco sobre este conceito extremamente importante para qualquer profissional da área de banco de dados.


Introdução

A álgebra relacional é uma linguagem de consulta procedural. Ela consiste em um conjunto de operações que tornam uma ou duas tabelas como entradas e produzem uma nova tabela como resultado. Essas operações baseiam-se na teoria dos conjuntos (as tabelas correspondem a conjuntos). Linguagem procedural: linguagem que requer sempre a existência de definição quanto à ordem em que as operações serão realizadas.

 

Operadores

São definidas nove operações ou operadores para se trabalhar com álgebra relacional, eles podem ser classificados da seguinte maneira:

Fundamentais: Através dela qualquer expressão de consulta de dados é permitida:

¤ 1. Projeção

¤ 2. Seleção

¤ 3. Produto Cartesiano

¤ 4.União

¤ 5. Diferença, Subtração

Derivados: Derivam dos operadores fundamentais, são definidos para facilitar a especificação de certos procedimentos:

¤ 6. Intersecção

¤ 7. Junção (normal e natural)

¤ 8. Divisão

Especiais: Operadores que não se enquadram nos itens anteriores:

¤ 9.Renomeação e alteração

 

Quanto ao número de relações (tabelas) operandas:

¤ Unários – operam em uma única tabela .

São eles: seleção, projeção, renomeação e alteração;

¤ Binários – operam em duas tabelas.

São eles: união, intersecção, diferença, produto cartesiano, junção e divisão.

 

Quanto à origem da área da matemática:

¤ Teoria dos Conjuntos – operadores usuais da teoria de conjuntos da matemática. São eles: união, intersecção, diferença e produto cartesiano;

¤ Especiais – operadores adicionais, definidos pela álgebra relacional para manipulação de dados. São eles: seleção, projeção, junção, divisão, renomeação e alteração.

Além desses operadores, é definido também o operador de atribuição que permite atribuir o resultado de uma expressão de álgebra a uma tabela.

 

Símbolos que representam os operadores

Cada um dos noves operadores apresenta um símbolo que identifica sua função e operação dentro da expressão relacional, ou melhor dizendo dentro da fórmula que identifica e apresenta a operação relacional que esta sendo realizada, a Tabela 1 apresentada abaixo ilustra os símbolos representativos de cada operador:

Operadores

Tabela 1 – Relação de símbolos representativos de cada operador.

Vamos agora conhecer um pouco sobre cada operador, sua forma de utilização, após a apresentação de todos os operadores, disponibilizarei um código de exemplo para que você posso praticar e conhecer de maneira operacional como cada operador pode ser utilizado, vamos conhecer pelo primeiro operador conhecido como Projeção.

 

Projeção

Pode ser entendida como uma operação que filtra as colunas de uma tabela de nosso banco de dados ou uma tabela resultante de uma outra operação relacional executada. Por operar em apenas um conjunto de entrada, a projeção é classificada como uma operação unária.

Sintaxe:       coluna1, coluna2,…, colunaN (Tabela)

 

Seleção / Restrição

Pode ser entendida como a operação que filtra, seleciona as linhas de uma tabela, realizando também uma projeção, e opera em um conjunto de dados, sendo portando uma operação unária.

Sintaxe:         <condição de seleção ou predicado> (Tabela)

 

Produto Cartesiano

Utiliza a mesma notação de operação matemática de dois conjuntos, tendo como resultado do produto cartesiano de duas tabelas uma terceira tabela contendo as cominações possíveis entre os elementos das tabelas originais.

Essa tabela resultante possui um número de colunas que é igual à soma do número de colunas das tabelas iniciais e um número de linhas igual ao produto do número de linhas das duas tabelas.

Sintaxe: (Tabela 1) X (Tabela 2)

 

União

É uma operação binária, ou seja cria uma tabela a partir de duas outras tabelas união compatíveis levando as linhas comuns e não comuns a ambas. As informações duplicadas aparecerão somente uma vez no resultado. Tabelas União Compatíveis: tabelas cuja quantidade, disposição e domínio dos atributos/ campos sejam os mesmos.

Sintaxe: (Tabela 1)     (Tabela 2)

 

Intersecção

É uma operação binária, ou seja cria uma tabela a partir de duas outras tabelas levando sem repetição as linhas, que pertençam a ambas as tabelas presentes na operação.

Sintaxe: (Tabela 1)     (Tabela 2)

 

Diferença

Essa operação permite encontrarmos linhas que estão em uma tabela mas não estão em outra. A expressão Tabela 1 Tabela 2 resulta em uma tabela que contém todas as linhas que estão na tabela 1 e não estão na Tabela 2. Observamos que Tabela 1 – Tabela 2 (Exemplo1) é diferente de Tabela 2 – Tabela 1 (Exemplo2).

Sintaxe: (Tabela 1) – (Tabela 2)

 

Junção

Essa operação interage com o modelo relacional, ou seja trabalha com o modelo de relações entre tabelas realizando um produto cartesiano, combinando as linhas e somando as colunas de duas tabelas, só que partindo de campos comuns de ambas para realizar essa “seleção relacional. Essa operação possui uma condição onde se colocam os campos das tabelas que estão sendo usados para se efetivar a junção. Chamamos essa junção de junção com predicado.

(Sintaxe 1): (Junção com Predicado): (Tabela 1) |x| <condição de junção> (Tabela 2)

Outro tipo de junção é a junção natural:

Sintaxe : (Junção Natural): (Tabela 1) |x| (Tabela 2)

Nela não há especificação de condição sendo usado para isso todas as colunas comuns às duas tabelas. As colunas resultantes são a soma das colunas das duas tabelas sem a repetição das colunas idênticas (aparecerão uma vez somente). Não deve ser empregada quando se deseja associar duas tabelas apenas por um ou alguns dos seus atributos idênticos, caso isso seja feito os resultados são imprevisíveis.

 

Divisão

Essa operação produz como resultado a projeção de todos os elementos da primeira tabela que se relacionam com todos os elementos da segunda tabela. Essa operação também pode ser obtida através de outras operações de álgebra relacional.

Sintaxe: (Tabela 1) ÷ (Tabela 2)

 

Renomeação / Atribuição

Renomeação ( p ): É a operação que renomeia uma tabela.

Sintaxe: p Nome(Tabela)

Atribuição ( ß ): É utilizada para simplificar comandos muito extensos definindo então passos de comando.

Sintaxe: Variável ß Tabela


 

Colocando a mão na massa

Agora que já conhecemos um pouco sobre cada operador, suas sintaxes e formas de utilização, vamos colocar a mão na massão e utilizar nosso código de exemplo apresentado a seguir:

— Criando o Banco de Dados – AlgebraRelacional —

Create Database AlgebraRelacional

Go

 

— Acessando o Banco de Dados – AlgebraRelacional —

Use AlgebraRelacional

Go

 

— Criando a Tabela Cargos —

Create Table Cargos

(CodigoCargo Char(2) Primary Key Not Null,

DescricaoCargo Varchar(50) Not Null,

VlrSalario Numeric(6,2) Not Null)

Go

 

— Criando a Tabela Departamentos —

Create Table Departamentos

(CodigoDepartamento Char(2) Primary Key Not Null,

DescricaoDepartamento Varchar(30) Not Null,

RamalTel SmallInt Not Null)

Go

 

— Criando a Tabela Funcionarios —

Create Table Funcionarios

(NumeroRegistro Int Primary Key Not Null,

NomeFuncionario Varchar(80) Not Null,

DtAdmissao Date Default GetDate(),

Sexo Char(1) Not Null Default ‘M’,

CodigoCargo Char(2) Not Null,

CodigoDepartamento Char(2) Not Null)

Go

 

— Criando os relacionamentos —

Alter Table Funcionarios

Add Constraint [FK_Funcionarios_Cargos] Foreign Key (CodigoCargo)

References Cargos(CodigoCargo)

Go

 

Alter Table Funcionarios

Add Constraint [FK_Funcionarios_Departamentos] Foreign Key (CodigoDepartamento)

References Departamentos(CodigoDepartamento)

Go

 

— Inserindo os Dados —

Insert Into Cargos (CodigoCargo, DescricaoCargo, VlrSalario)

Values (‘C1’, ‘Aux.Vendas’, 1350.00),

(‘C2’, ‘Vigia’, 600.00),

(‘C3’, ‘Vendedor’, 1200.00),

(‘C4’, ‘Aux.Cobrança’, 1550.00),

(‘C5’, ‘Gerente’, 1200.00),

(‘C6’, ‘Diretor’, 2500.00),

(‘C7’, ‘Presidente’,5500.00)

Go

 

Insert Into Departamentos (CodigoDepartamento,DescricaoDepartamento,RamalTel)

Values (‘D1’, ‘Assist.Técnica’, 246),

(‘D2’, ‘Estoque’, 589),

(‘D3’, ‘Administração’, 772),

(‘D4’, ‘Segurança’, 810),

(‘D5’, ‘Vendas’, 512),

(‘D6’, ‘Cobrança’, 683)

Go

 

Insert Into Funcionarios (NumeroRegistro, NomeFuncionario, DtAdmissao, Sexo, CodigoCargo, CodigoDepartamento)

Values (1, ‘Cezar Sampaio’, ‘2013-08-10’, ‘M’, ‘C3’, ‘D5’),

(4, ‘Luis Alves Pereira’, ‘2014-03-02’, ‘M’, ‘C4’, ‘D6’),

(34, ‘Pedro Luiz Alves’, ‘2012-05-03’, ‘M’, ‘C5’, ‘D1’),

(21, ‘Silva Souza’, ‘2011-12-10’, ‘M’, ‘C3’, ‘D5’),

(95, ‘Eduardo Oliveira Silveira’, ‘2012-01-05’, ‘F’, ‘C1’, ‘D5’),

(39, ‘Ana Marta Silva’, ‘2013-01-12’, ‘F’, ‘C4’, ‘D6’),

(23, ‘Sergio Mota’, ‘2013-06-29’, ‘M’, ‘C7’, ‘D3’),

(48, ‘Larissa Roberto Aleluia’, ‘2012-06-01’, ‘F’, ‘C4’, ‘D6’),

(5, ‘Ricardo Martins’, ‘2013-10-15’, ‘M’, ‘C3’, ‘D5’),

(2, ‘Simone Gasparini Tune’, ‘2010-02-10’, ‘M’, ‘C2’, ‘D4’)

Go

 

— Exemplo – Operador – Projeção — Qual o nome e data de admissão dos funcionários? —

Select NomeFuncionario, DtAdmissao From Funcionarios

Go

 

— Exemplo – Operador – Seleção/Restrição — Quais os funcionários de sexo masculino? —

Select NumeroRegistro, NomeFuncionario, DtAdmissao,

Sexo, CodigoCargo, CodigoDepartamento

From Funcionarios

Where Sexo = ‘M’

Go

 

— Exemplo – Operadores – Projeção e Seleção — Quais os nomes e data de admissão dos funcionários de sexo masculino? —

Select NomeFuncionario, DtAdmissao From Funcionarios

Where Sexo = ‘M’

Go

 

— Exemplo – Operador – Produto Cartesiano – Trazer as informações dos funcionários e de seus cargos: Linhas de Funcionarios X Linhas de Cargos —

Select F.NumeroRegistro,

F.NomeFuncionario,

F.DtAdmissao,

F.Sexo,

F.CodigoCargo,

F.CodigoDepartamento

From Funcionarios F Cross Join Cargos C

Order By F.NumeroRegistro Desc

Go

 

— Exemplo – Operador – União — Combinação de Tabelas e Linhas entre selects distintos —

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C1’,‘C3’,‘C5’,‘C7’)

Union

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C2’,‘C4’,‘C6’)

Go

 

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C1’,‘C3’,‘C5’,‘C7’)

Union All

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C2’,‘C4’,‘C6’)

Union All

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C2’,‘C4’,‘C6’)

Go

 

— Exemplo – Operador – Intersecção — Combinação de Tabelas e Linhas entre selects distintos sem repetição de dados no resultado —

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C2’,‘C4’,‘C6’)

Intersect

Select CodigoCargo, DescricaoCargo, VlrSalario

From Cargos

Where CodigoCargo In (‘C2’,‘C3’,‘C6’,‘C7’)

Go

 

— Exemplo – Operador – Diferença – Linhas existentes em uma Tabela que não existem em outra —

Insert Into Cargos (CodigoCargo, DescricaoCargo, VlrSalario)

Values (‘C8’, ‘Aux.Vendas II’, 550.00)

Go

Select F.NumeroRegistro,

F.NomeFuncionario,

F.DtAdmissao,

F.Sexo,

F.CodigoCargo,

F.CodigoDepartamento

From Funcionarios F

Where Exists (Select CodigoCargo From Cargos)

Go

 

— Exemplo – Operador – Junção – Combinação de Linhas e Colunas entre tabelas que possuem algum tipo de vínculo relacional —

Select F.NumeroRegistro,

F.NomeFuncionario,

F.DtAdmissao,

F.Sexo,

F.CodigoCargo,

F.CodigoDepartamento

From Funcionarios F Inner Join Cargos C

On F.CodigoCargo = C.CodigoCargo

Order By F.NomeFuncionario, F.CodigoCargo Asc

Go

 

— Exemplo – Operador – Divisão – Relação Completa de todos os dados da Tabela da Esquerda com todos os dados da Tabela da Direita —

Create Table Projetos

(CodigoProjeto Char(8) Primary Key Not Null,

DescricaoProjeto Varchar(50) Not Null)

Go

 

Create Table Equipe

(Codigo Int Primary Key Identity(1,1) Not Null,

NumeroRegistroFuncionario Int Not Null,

CodigoProjeto Char(8) Not Null)

Go

 

— Criando os relacionamentos —

Alter Table Equipe

Add Constraint [FK_Equipe_Funcionarios] Foreign Key (NumeroRegistroFuncionario)

References Funcionarios(NumeroRegistro)

Go

 

Alter Table Equipe

Add Constraint [FK_Equipe_Projetos] Foreign Key (CodigoProjeto)

References Projetos(CodigoProjeto)

Go

 

— Inserindos os Dados —

Insert Into Projetos (CodigoProjeto, DescricaoProjeto)

Values (‘Projeto1’, ‘Suporte’),

(‘Projeto2’, ‘Manutenção’),

(‘Projeto3’, ‘Desenvolvimento’)

Go

 

Insert Into Equipe (NumeroRegistroFuncionario, CodigoProjeto)

Values (‘101’, ‘Projeto1’),

(‘104’, ‘Projeto1’),

(‘134’, ‘Projeto1’),

(‘101’, ‘Projeto2’),

(‘104’, ‘Projeto2’),

(‘101’, ‘Projeto3’)

Go

 

Select E.NumeroRegistroFuncionario,

E.CodigoProjeto,

P.DescricaoProjeto

From Equipe E Inner Join Projetos P

On E.CodigoProjeto = P.CodigoProjeto

Where E.CodigoProjeto = ‘Projeto1’

Go

 

— Exemplo – Operador – Renomeação —

sp_rename ‘Cargos’,‘NovosCargos’

Go

Select * from NovosCargos

 

— Exemplo – Operador – Atribuição —

Select F.NumeroRegistro As ‘Número de Registro’,

F.NomeFuncionario,

F.DtAdmissao As ‘Data de Admissão’,

F.Sexo,

F.CodigoCargo,

F.CodigoDepartamento,

Data=(Select GetDate()) — Atribuindo um valor para uma coluna

From Funcionarios F Inner Join NovosCargos C

On F.CodigoCargo = C.CodigoCargo

Order By F.NomeFuncionario, F.CodigoCargo Asc

Go

 

Legal, legal, você pode reparar que este código de exemplo é bastante simples e abrangente, demonstrando como podemos trabalhar com cada operador e de que forma o SQL Server se enquadra perfeitamente neste conceitos, algo muito comum para qualquer banco de dados ou sistema gerenciador de banco de dados, mas que pode variar a sua forma de análise e utilização.


Sendo assim chegamos ao final de mais uma dica do mês.

Espero que você tenha gostado, que as informações e exemplos publicados aqui possam de alguma maneira ajudar e colaborar com suas atividades diárias sejam elas: profissionais ou acadêmicas.

O conhecimento técnico é muito importante para qualquer profissional, mas o conceito é algo que sempre devemos valorizar e conhecer, a diferença entre um bom profissional e um profissional reconhecido e respeitado no mercado de trabalho é saber aliar o conhecimento teórico com o conhecimento prática, como muitos costumam dizer aliar a téoria a prática, sendo este o objetivo deste post.

Desejo um forte abraço, agradeço mais uma vez a sua visita.

Até mais.

Retrocompatibilidade no Xbox One suporta jogos com múltiplos discos


O primeiro jogo com múltiplos discos suportado pela retrocompatibilidade no Xbox One é o Deux Ex: Human Revolution Director’s Cut.

Outros jogos com múltiplos discos devem ser suportados no futuro. Os usuários podem votar em quais jogos que poderão ser adicionados futuramente através do site Xbox Feedback.

No site é possível votar em títulos como Skyrim, Tales of Vesperia, Lost Odyssey e muitos outros.

Retrocompatibilidade no Xbox One suporta jogos com múltiplos discos Retrocompatibilidade no Xbox One suporta jogos com múltiplos discos - {focus keyword}

Com a retrocompatibilidade os jogos do Xbox 360 rodarão da mesma forma no Xbox One, mas com o suporte para alguns recursos do novo console. Por exemplo, os usuários poderão capturar screenshots, fazer o streaming de gameplays e gravar suas partidas nos jogos do Xbox 360 rodando no Xbox One

Com a retrocompatibilidade no Xbox One os jogos do Xbox 360 rodarão da mesma forma, mas com o suporte para alguns recursos do novo console.

Por exemplo, os usuários poderão capturar screenshots, fazer o streaming de gameplays e gravar suas partidas nos jogos do Xbox 360 rodando no Xbox One.

A Microsoft também confirmou que todos os jogos do Xbox 360 disponibilizados futuramente como parte do programa Games with Gold já serão compatíveis com o Xbox One.

A lista mais recente com os jogos suportados por este recurso pode ser encontrada aqui e mais detalhes sobre a retrocompatibilidade estão disponíveis aqui.

Fontes e Direitos Autorias: Baboo.com – Sid Vicious @ 16 mai 2016 | 9:21 am

Short Script – Dezembro – 2015


Bom dia, Comunidade. Good Morning Everyone!!!!!

Como diria aquele apresentador “O louco meu…..”, 2015 esta chegando ao seu final parece que foi ontem que publiquei o primeiro post deste ano, realmente o tempo esta passando de forma assustadora e não estamos dando conta do quanto estamos vivendo, ou melhor sobrevivendo as loucuras do mundo.

Mantendo a escrita e tradição não poderia deixar passar a oportunidade de compartilhar com vocês os mais novos Short Scripts que adicionei a minha biblioteca de Scripts dedicados ao Microsoft SQL Server desde a versão 2000. Neste momento minha modesta biblioteca de arquivos esta composta por 1.121 scripts organizados em 66 pastas, sub-dividos em 4 categorias:

  • Comuns;
  • Básicos;
  • Intermediários; e
  • Avançados.

Pois bem, no post de hoje destaco os seguintes recursos ou funcionalidades:

  • Arquivo de ErrorLog e Logs Management;
  • Contagem de linhas existentes em tabelas;
  • CTE Recursiva;
  • Diferença entre datas desconsiderando sábado e domingo;
  • Extended Events Target;
  • Função para formatar a primeira letra de cada palavra em maiúscula;
  • Geração de combinação de letras;
  • Multiple Server in Query Windows;
  • Stored Procedure para gerar CNPJ e CPF;
  • SQLCMD Mode; e
  • Variável Table.

Fique a vontade para compartilhar, sugerir melhoras, críticas ou questionamentos sobre estes exemplos.

Segue abaixo a relação de short scripts:

1 – Exemplo – Utilizando Extended Events Target para separar e contar loings e logouts:

CREATE EVENT SESSION [CounterTest] ON SERVER

ADD EVENT sqlserver.login,

ADD EVENT sqlserver.logout(

ACTION(sqlserver.client_hostname,sqlserver.database_name,sqlserver.username))

ADD TARGET package0.event_counter

WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)

GO
— login and logout a few times

GO

— query for data

— Query the Target

SELECT

n.value(‘@name[1]’, ‘varchar(50)’) AS Event

, n.value(‘@count[1]’, ‘int’) AS EventCounts

FROM

( SELECT

CAST(t.target_data AS XML) AS target_data

FROM

sys.dm_xe_sessions AS s

JOIN

sys.dm_xe_session_targets AS t

ON

t.event_session_address = s.address

WHERE

s.name = ‘CounterTest’

AND t.target_name = ‘event_counter’

) AS tab

CROSS APPLY target_data.nodes(‘CounterTarget/Packages/Package/Event’) AS q ( n )

GO

 

2 – Exemplo – Stored Procedure para gerar CNPJ e CPF:

CREATE PROCEDURE dbo.stpGerador_CPF_CNPJ (
@Quantidade INT = 1,
@Fl_Tipo BIT = 1
)
AS BEGIN

IF (OBJECT_ID(‘tempdb..#Tabela_Final’) IS NOT NULL) DROP TABLE #Tabela_Final
CREATE TABLE #Tabela_Final (
Nr_Documento VARCHAR(18)
)

DECLARE
@n INT,
@n1 INT,
@n2 INT,
@n3 INT,
@n4 INT,
@n5 INT,
@n6 INT,
@n7 INT,
@n8 INT,
@n9 INT,
@n10 INT,
@n11 INT,
@n12 INT,

@d1 INT,
@d2 INT

— CPF
IF (@Fl_Tipo = 0)
BEGIN

WHILE (@Quantidade > 0)
BEGIN

SET @n = 9
SET @n1 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n2 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n3 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n4 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n5 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n6 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n7 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n8 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n9 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @d1 = @n9 * 2 + @n8 * 3 + @n7 * 4 + @n6 * 5 + @n5 * 6 + @n4 * 7 + @n3 * 8 + @n2 * 9 + @n1 * 10
SET @d1 = 11 – ( @d1 % 11 )

IF ( @d1 >= 10 )
SET @d1 = 0

SET @d2 = @d1 * 2 + @n9 * 3 + @n8 * 4 + @n7 * 5 + @n6 * 6 + @n5 * 7 + @n4 * 8 + @n3 * 9 + @n2 * 10 + @n1 * 11
SET @d2 = 11 – ( @d2 % 11 )

IF ( @d2 >= 10 )
SET @d2 = 0

INSERT INTO #Tabela_Final
SELECT CAST(@n1 AS VARCHAR) + CAST(@n2 AS VARCHAR) + CAST(@n3 AS VARCHAR) + ‘.’ + CAST(@n4 AS VARCHAR) + CAST(@n5 AS VARCHAR) + CAST(@n6 AS VARCHAR) + ‘.’ + CAST(@n7 AS VARCHAR) + CAST(@n8 AS VARCHAR) + CAST(@n9 AS VARCHAR) + ‘-‘ + CAST(@d1 AS VARCHAR) + CAST(@d2 AS VARCHAR)

SET @Quantidade = @Quantidade – 1

END

END

— CNPJ
ELSE BEGIN

WHILE (@Quantidade > 0)
BEGIN

SET @n = 9
SET @n1 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n2 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n3 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n4 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n5 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n6 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n7 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n8 = CAST(( @n + 1 ) * RAND(CAST(NEWID() AS VARBINARY )) AS INT)
SET @n9 = 0
SET @n10 = 0
SET @n11 = 0
SET @n12 = 1

SET @d1 = @n12 * 2 + @n11 * 3 + @n10 * 4 + @n9 * 5 + @n8 * 6 + @n7 * 7 + @n6 * 8 + @n5 * 9 + @n4 * 2 + @n3 * 3 + @n2 * 4 + @n1 * 5
SET @d1 = 11 – ( @d1 % 11 )

IF (@d1 >= 10)
SET @d1 = 0

SET @d2 = @d1 * 2 + @n12 * 3 + @n11 * 4 + @n10 * 5 + @n9 * 6 + @n8 * 7 + @n7 * 8 + @n6 * 9 + @n5 * 2 + @n4 * 3 + @n3 * 4 + @n2 * 5 + @n1 * 6
SET @d2 = 11 – ( @d2 % 11 )

IF (@d2 >= 10)
SET @d2 = 0

INSERT INTO #Tabela_Final
SELECT ” + CAST(@n1 AS VARCHAR) + CAST (@n2 AS VARCHAR) + ‘.’ + CAST (@n3 AS VARCHAR) + CAST (@n4 AS VARCHAR) + CAST (@n5 AS VARCHAR) + ‘.’ + CAST (@n6 AS VARCHAR) + CAST (@n7 AS VARCHAR) + CAST (@n8 AS VARCHAR) + ‘/’ + CAST (@n9 AS VARCHAR) + CAST (@n10 AS VARCHAR) + CAST (@n11 AS VARCHAR) + CAST (@n12 AS VARCHAR) + ‘-‘ + CAST (@d1 AS VARCHAR) + CAST (@d2 AS VARCHAR);

SET @Quantidade = @Quantidade – 1

END

END

SELECT * FROM #Tabela_Final

END

 

3 – Exemplo – Reciclando o arquivo de ErrorLog e Logs Management:

EXEC sp_cycle_errorlog
GO

 

4 – Exemplo – Função – Formatar a primeira letra de cada palavra em maiúscula:

CREATE FUNCTION dbo.udfNomeProprio (
@Nome varchar(250)
)
RETURNS varchar(250)
AS
BEGIN
DECLARE @Pos tinyint = 1
DECLARE @Ret varchar(250) = ”

WHILE (@Pos < LEN(@Nome) + 1)
BEGIN
IF @Pos = 1
BEGIN
–FORMATA 1.LETRA DA “FRASE”
SET @Ret += UPPER(SUBSTRING(@Nome, @Pos, 1))
END
ELSE IF (SUBSTRING(@Nome, (@Pos-1), 1) = ‘ ‘
AND SUBSTRING(@Nome, (@Pos+2), 1) <> ‘ ‘) AND (@Pos+1) <> LEN(@Nome)
BEGIN
–FORMATA 1.LETRA DE “CADA INTERVALO””
SET @Ret += UPPER(SUBSTRING(@Nome, @Pos, 1))
END
ELSE
BEGIN
–FORMATA CADA LETRA RESTANTE
SET @Ret += LOWER(SUBSTRING(@Nome,@Pos, 1))
END

SET @Pos += 1
END

RETURN @Ret
END
GO

SELECT dbo.udfNomeProprio(‘pedro antonio galvão junior’)
GO

 

5 – Exemplo – Utilizando Multiple Server in Query Windows using SQLCMD Mode:

— Sem o GO o SQLCMD Mode não entende o final do bloco —
:connect saom4276
select @@SERVERNAME

:connect SAOM4276\SQLEXPRESS2014
select @@SERVERNAME

— Utilizando o comando Go para encerrar o bloco —
:connect saom4276
select @@SERVERNAME
Go

:connect SAOM4276\SQLEXPRESS2014
select @@SERVERNAME
Go

 

6 – Exemplo – Gerando combinação de letras:

create table #t (string varchar (2))

declare @a1 varchar(1), @a2 varchar(1)
set @a1=’A’

while @a1 <= ‘Z’
begin
set @a2=’A’

while @a2 <= ‘Z’
begin
insert into #t select @a1 + @a2
set @a2 = char (ascii(@a2) + 1)
end

set @a1 = char (ascii(@a1) + 1)
end

select string from #t
where string like ‘_’ /*single underscore*/

Go

 

7 – Exemplo – Calculando diferença entre datas desconsiderando sábado e domingo:

declare @Data datetime set @Data = ‘2015/10/01’

–Calcula a quantidade de dias entre a data inicial e a data atual, excluindo sbados e domingos soma 1 no fim pois no conta o proprio dia

WITH AllDates AS

(   SELECT  TOP (DATEDIFF(DAY, @Data, GETDATE()))

D = DATEADD(DAY, ROW_NUMBER() OVER(ORDER BY a.Object_ID), @Data)

FROM    sys.all_objects a

CROSS JOIN sys.all_objects b

)

SELECT  WeekDays = COUNT(*) +1 –

–Clcula a quantidade de feriados entre as datas

(select count(*) from FTAFE(NOLOCK)

where convert(datetime, convert(varchar, FTAFE.DT_FERIADO), 112) between @Data and GETDATE()

and FTAFE.CD_CIDADE in(0)

and DATEPART(weekday, convert(datetime, convert(varchar, FTAFE.DT_FERIADO), 112)  ) not in(6,7))

FROM    AllDates

WHERE   DATEPART(WEEKDAY, D) NOT IN(6, 7)

Go
8 – Exemplo – Variável Table + CTE Recursiva para gerar sequência de letras:

declare @Tabela table
( COL1 INT,  COL2 VARCHAR(1));

insert into @Tabela values
(75, NULL),
(78, ‘C’),
(12, ‘B’),
(24, ‘D’)

;with CTE_Rec (COL1, COL2) as
(
select
COL1,
COL2
from @Tabela

union all

select
COL1,
case when ASCII(COL2) > 66 then CAST(CHAR(ASCII(COL2) – 1) AS VARCHAR(1))  end
from CTE_Rec as c
where
COL2 is not null
)

select
COL1,
COL2
from CTE_Rec
order by
COL1,
COL2

Go

 

9 – Exemplo – Quantidade de Linhas – Todas as Tables:

— Exemplo 1 —
SELECT t.[name], p.[rows]
FROM sys.schemas s INNER JOIN sys.tables t
ON t.[schema_id] = s.[schema_id]
INNER JOIN sys.indexes i
ON i.[object_id] = t.[object_id]
AND i.[type] IN (0,1)
INNER JOIN sys.partitions p
ON p.[object_id] = t.[object_id]
AND p.[index_id] = i.[index_id]
Go

— Exemplo 2 —
;With Contador (name, rows)
As
(
SELECT t.[name], p.[rows]
FROM sys.schemas s INNER JOIN sys.tables t
ON t.[schema_id] = s.[schema_id]
INNER JOIN sys.indexes i
ON i.[object_id] = t.[object_id]
AND i.[type] IN (0,1)
INNER JOIN sys.partitions p
ON p.[object_id] = t.[object_id]
AND p.[index_id] = i.[index_id]
)
Select name, rows,  ” as soma from Contador
Union all
Select ‘Total’ , Null, convert(varchar(10),sum(rows)) as soma from contador

Go

Caso você queria acessar os demais Short Scripts publicados em 2015, segue abaixo os links:

https://pedrogalvaojunior.wordpress.com/2015/10/21/short-scripts-outubro-2015/

https://pedrogalvaojunior.wordpress.com/2015/08/26/short-scripts-agosto-2015/

https://pedrogalvaojunior.wordpress.com/2015/06/03/short-script-junho-2015/

https://pedrogalvaojunior.wordpress.com/2015/05/04/short-script-maio-2015/

Mais uma vez obrigado por sua visita, espero que estes material posso ser útil e venha a colaborar em seu aprendizado.

Nos encontramos em breve…..

DatabaseCast – Banco de Dados na sala de aula


Boa tarde, Pessoal!!!

Gostaria de compartilhar com todos vocês mais um grande reconhecimento para minha carreira profissional e acadêmica, nos últimos dias gravei com a galera do @DatabaseCast mais um podcast dedicado a área de banco de dados.

VitrineDatabaseCast62

Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Pedro Antônio Galvão Junior (@JuniorGalvaoMVP) entram na sala de aula para por fim à bagunça. Neste episódio, você vai aprender onde e como banco de dados é ensinado dentro da sala de aula, discutir didática, observar comportamento, ser firme na disciplina, julgar o que é um professor bom ou ruim e saber como não deixar o professor com dor de cabeça.

Para acessar este e outros episódios: https://www.youtube.com/channel/UC8EUZ3gYTxJi-gr4azFJGYA

Windows chega aos 30 anos: relembre a trajetória do sistema


Nesta sexta-feira, 20 de novembro de 2015, o Windows chega a uma marca histórica. São exatos trinta anos de trajetória desde o lançamento do Windows 1.0, no ano de 1985. De lá para cá, são muitas versões, algumas delas queridas pelo público, outras nem tanto.

São 30 anos de atualizações, erros, acertos, telas azuis, novas interfaces e novos métodos de interação com o computador. Nem todos caíram nas graças dos usuários, mas não dá para dizer que o Windows não tem uma história rica.

Windows 1.0

Quando estava em desenvolvimento, era chamado pelo nome pouco simpático de “Interface Manager”, ou “Gerenciador de interfaces”. Felizmente a Microsoft teve o bom-senso de rever o nome para “Windows”, por causa da interface de janelas. O sistema era basicamente uma interface gráfica, comandada pelo mouse, sobre o MS-DOS, cujas linhas de comando eram complexas demais para o público comum na época.

Ele foi anunciado em 1983, mas demorou dois anos para ser lançado. A demora fez com que muitos acreditassem que se tratasse de um “vaporware”, termo da indústria de tecnologia para designar produtos anunciados, mas que nunca são lançados.

Entre as novidades, listadas efusivamente neste vídeo por Steve Ballmer, estão recursos como calendário, calculadora, o Paint, relógio, bloco de notas, entre outros. Ele já trazia menus expansíveis, barras de rolagem, ícones, entre outras novidades que tornaram o Windows mais amigável para o usuário comum.

Windows 2.0

Lançada em 1987, a versão trazia melhorias gráficas e permitia a sobreposição de janelas. Também foi adicionada a ferramenta que possibilitava a utilização de atalhos do teclado para facilitar a vida do usuário. Ele foi inicialmente criado para processadores 286, da Intel, mas recebeu uma atualização para o 386.

Quem está acostumado a mexer nas configurações do Windows deve estar familiarizado com uma ferramenta nascida nesta época: o Painel de Controle apareceu pela primeira vez no Windows 2.0.

Windows 3.x

Com lançamento em maio de 1990, foi o primeiro Windows a avançar para a nova década, recebendo uma atualização para a versão 3.1 em 1992. Juntas, as duas versões venderam 10 milhões de cópias em dois anos. Foi o maior sucesso comercial do Windows até o momento.

Agora o Windows suportava gráficos com 16 cores e ganhou recursos para gerenciamento de programas, arquivos e impressoras. Também passou a contar com os clássicos Paciência, Copas e Campo Minado.  Para instalar, era necessária uma caixa cheia de disquetes, com manuais de instruções bem pesados. Outros tempos.

A Microsoft também lançou o Windows for Workgroups 3.11, voltado para redes corporativas, mas que esteve longe de ser um grande sucesso comercial.

Paralelamente, também foi criado o Windows NT (New Technology) 3.1, o primeiro sistema realmente 32 bits lançado pela Microsoft, que não era mais baseado no MS-DOS. O NT serviu de base também para todos os sistemas da empresa depois do Windows 2000.

Windows 95

A Microsoft começou a nomear seus sistemas com o ano de lançamento nesta versão, lançada em 24 de agosto daquele ano. Foram 7 milhões de cópias vendidas em apenas cinco semanas, com uma campanha agressiva que incluía comerciais de TV com a música dos Rolling Stones “Start Me Up”, mostrando o botão Iniciar, novidade na época.

O sistema viu o lançamento da primeira versão do Internet Explorer. Ele era adaptado para a internet de uma forma geral, com suporte a conexões discadas e o novo sistema de plug-and-play, facilitando a instalação de hardware. Além do botão Iniciar, o Windows ganhou a barra de tarefas e os botões de minimizar, maximizar e fechar, que se tornariam um padrão em breve.

Para funcionar, era recomendado um processador 486 (quem lembra?) e 8 MB de RAM. Ele foi lançado em disquetes ou em CD-ROM, em 12 línguas diferentes.

Windows 98

Lançada em 25 de junho de 1998, foi a última versão a ser baseada no MS-DOS. Ela foi feita pensando no usuário final e se propunha a evoluir o Windows 95 tanto para trabalho quanto para dviersão. Ele facilitava a conexão à internet e trouxe a possibilidade de fixar programas na barra de tarefas ao lado do menu Iniciar. O sistema também trouxe o suporte à leitura de DVDs e reconhecimento de dispositivos USB.

Windows 2000

Lançado em 17 de fevereiro de 2000, ele foi criado para substituir o Windows 95, o 98 e o NT Workstation 4.0 em todos os computadores de uso corporativo. Ele foi criado sobre o código do próprio NT Workstation 4.0.

Entre seus recursos estavam a simplificação da instalação de hardware com a ampliação do plug-and-play, suporte a redes avançadas e produtos sem fio e dispositivos USB.

Windows ME

Amplamente reconhecida como uma das maiores bombas já lançadas pela Microsoft, a “Millenium Edition” (apelidada de “Mistake Edition”, ou “edição do erro”) foi lançada em 14 de setembro de 2000. A PC World chegou a considerá-lo um dos piores produtos de tecnologia de todos os tempos, afirmando que “os usuários tinham problemas para instalá-lo, fazê-lo rodar, fazê-lo funcionar com outros hardwares e softwares e fazê-lo parar de funcionar”.

Ele foi criado para o uso doméstico e tinha o objetivo de trazer melhorias para a reprodução de mídia e a criação de redes domésticas. Ele também trouxe a restauração do sistema, que está presente até hoje nas versões recentes do Windows. Foi o último sistema da Microsoft a ser desenvolvido sobre o código do Windows 95.

Windows XP

Aposentado há pouco tempo pela Microsoft chegou ao mercado em 25 de outubro de 2001 e foi um sucesso. Até hoje é um sucesso, e muitos usuários se recusam a abandoná-lo, mesmo com o suporte encerrado.

Ele foi construído do zero depois que a Microsoft abandonou a base do Windows 95, com um visual renovado e usabilidade melhorada. Foram 45 milhões de linhas de código para criar o sistema. Para o uso doméstico, trouxe melhorias no Media Player e o Movie Maker e o suporte melhorado a fotografias digitais. Já para as empresas, trouxe sistema de criptografia de arquivos, desktop remoto. Ele também trouxe suporte a redes sem fio 802.1x, facilitando a vida de quem usava o XP em notebooks.

Para tentar cobrir o avanço das ameaças de segurança, a Microsoft começou a emitir atualizações pela internet. O XP também foi o primeiro a impor o limite de instalações do sistema operacional. Antigamente, era possível comprar apenas uma cópia e instalar por infinitos computadores, o que passou a ser inviável. Talvez por isso o XP, além de um sucesso comercial, também foi um dos softwares mais pirateados da história.

Windows Vista

Seguindo o sucesso do Windows XP, a Microsoft lançou em 2006 o Windows Vista, que também é reconhecido como um erro da empresa. O software teve problemas em sua fase de desenvolvimento. Ele deveria ter sido lançado dois ou três anos depois do XP, mas só saiu cinco anos depois. Mesmo assim, ele trouxe algumas novidades, como o Controle de Conta de Usuário, para evitar que vírus e malwares pudessem fazer alterações perigosas no computador da vítima.

O design foi uma parte importantíssima do Vista, trazendo o Aero, uma nova identidade visual que permitia que as bordas das janelas ganhassem um tipo de transparência interessante, mesmo que isso fizesse com que o software ficasse mais pesado. O botão Iniciar também foi recriado.

No lançamento, o Vista estava disponível em 35 idiomas, e 1,5 milhões de dispositivos eram compatíveis na ocasião. Contudo, falhas minaram o possível sucesso. Problemas da incompatibilidade existiram aos montes, e não faltam relatos do desastre que foi o seu desenvolvimento.

Steve Ballmer, CEO na ocasião, revela que no meio do processo de criação foi necessário resetar o código-fonte do Vista, até então conhecido como Longhorn. Este foi o maior arrependimento de sua gestão: “tentamos realizar uma tarefa grande demais e, no processo, perdemos milhares de horas de trabalho e inovação”, conta.

Windows 7

Agora, sim, a Microsoft acertou a mão. Em 2009, chegava ao mercado a versão 7 do Windows, que aproveitava o que havia de bom no Vista e melhorava o que estava de errado, tornando o sistema muito mais compatível e amigável. Antes do lançamento, ele já havia sido testado por 8 milhões de pessoas durante o período de beta.

O Windows 7 trouxe algumas mudanças de interface e novas formas de interagir com as janelas do sistema, como o Aero Shake, que permitia “chacoalhar” uma janela para isolá-la do restante e o Aero Peek, que possibilitava “espiar” uma prévia de cada uma das janelas minimizadas na barra de tarefas. Já o Aero Snap trazia algo que foi difundido no Windows 8, que é a possibilidade de fixar programas em um lado da tela, ocupando 50% do espaço.

O Windows 7 também trouxe o início do Windows Touch, permitindo usar o toque na tela para interagir com o sistema. Isso também foi aprofundado na versão seguinte do software.

Windows 8 e 8.1  

Introduzido em 2012, o sistema trouxe mudanças radicais de interface. A principal delas era a extinção do tradicional Menu Iniciar para dar lugar a uma Tela Iniciar repleta de quadrados e retângulos que representavam os aplicativos, que a Microsoft chama de “blocos dinâmicos”.

O Windows 8 também deu início à loja de aplicativos do Windows, uma tentativa da Microsoft de ter um pouco mais de controle sobre o ecossistema dos PCs. No entanto, o recurso nunca foi realmente atraente para desenvolvedores, e até hoje as opções da loja não são muitas.

O sistema, no entanto, não convenceu os usuários a migrar do Windows 7, incapaz de superar a popularidade de seu antecessor. Tanto que até agora o sistema de 2009 ainda é o mais usado no mundo.

A principal novidade do Windows 8, os blocos dinâmicos, também são um dos motivos pelo qual ele ficou para trás. Usuários e empresas alegavam que a nova usabilidade tornava o sistema pouco parecido com o que estavam acostumados, dificultando a adaptação para a novidade. Além disso, os blocos, otimizados para o toque, não eram muito bons para o uso com mouse e teclado.

A geração também trouxe o Windows RT, uma adaptação do Windows 8 para tablets que não rodavam os programas tradicionais legado do Windows, apenas os apps da Windows Store. Foi um fracasso ainda maior, e a maior parte dos parceiros abandonou o barco ainda no primeiro ano.

Windows 10

Lançado neste ano, o Windows 10 traz uma nova estratégia para a empresa: oferecer o Windows como um serviço, o que significa que ele deve ser aprimorado ao longo dos meses e anos com atualizações graduais de segurança e novos recursos.

A versão 10 do sistema ainda aposta no conceito dos blocos dinâmicos, mas desta vez eles são muito mais discretos e fazem parte de um Menu Iniciar que, ao mesmo tempo, é novo e antigo. Novo porque ele foi modificado em relação ao que vimos no 7 e também no 8, mas antigo, porque traz familiaridade com o Windows 7, solucionando o principal erro do Windows 8.

Uma novidade do Windows 10 foi a introdução do programa Windows Insider, que permite que usuários recebam frequentemente compilações de teste do Windows e testem as novidades antes de o grande público recebe-las. Assim, a Microsoft pode liberar as atualizações sem temer tantos problemas de compatibilidade, já que tudo é testado por uma base bem grande de usuário de teste antes de ser liberada para uma base ainda maior de usuários comuns.

O sistema trouxe outras novidades como a assistente Cortana e o navegador Microsoft Edge, que colocou um fim no malfadado Internet Explorer. O browser antigo ainda está presente no sistema, mas em segundo plano, apenas por razões de retrocompatibilidade.

Outra diferença grande em relação a todas as versões anteriores do Windows, é que a Microsoft permitiu que usuários do Windows 7 e 8.1 fizessem a atualização grátis para a nova plataforma, o que alavancou rapidamente a base de usuários do 10. Em 4 meses, já são mais de 100 milhões de pessoas no sistema mais recente, já se aproximando do pico de usuários do Windows 8.

Fontes e Direitos Autorais: OlharDigital – Renato Santinoem 20/11/2015 às 07h00 

Windows 1.0 completa 30 anos


Lançado pela Microsoft em 20 de novembro de 1985, o Windows 1.0 completa 30 anos nesta sexta-feira. O sistema operacional foi anunciado dois anos antes, em 10 de novembro de 1983.

Windows 1.0 completa 30 anos

Lançado pela Microsoft em 20 de novembro de 1985, o Windows 1.0 completa 30 anos nesta sexta-feira. O sistema operacional foi anunciado dois anos antes, em 10 de novembro de 1983

Windows 1.0 completa 30 anos

Ao contrário do que muitos pensam, o Windows 1.0 era apenas um ambiente gráfico 16 bits rodando em cima do DOS e não um sistema operacional completo como as versões 3.x e superiores.

Com ele, ao invés de digitar os comandos no prompt do MS-DOS, o usuário só precisava apontar e clicar com o mouse nos itens na tela, um avanço e tanto para a época.

A primeira versão do Windows nasceu de um projeto chamado ‘Interface Manager’, que foi apresentado em 1983. Com o tempo, o projeto evoluiu e foi rebatizado como Microsoft Windows.

Para usar o Windows 1.0, era preciso ter pelo menos 256 KB de memória RAM (para execução de mais de um programa), uma placa de vídeo compatível e disco rígido (ou dois drives de disquete).

A primeira versão do Windows trazia aplicativos como uma calculadora, um bloco de notas, uma versão bem primitiva do Paint, relógio, Painel de Controle e jogos como o Reversi.

A versão 1.0 era bem limitada e não era possível sobrepor as janelas abertas, o que só foi acontecer a partir da versão 2.0. Por causa desta e de outras limitações, o Windows 1.0 viu sua fatia de mercado crescer bem lentamente.

Apesar do começo difícil, hoje o Windows domina o mercado de sistemas operacionais para computadores pessoais e possui uma fatia de mercado superior a 90%.

A versão mais recente do sistema operacional da Microsoft é o Windows 10, que foi lançado em 29 de julho de 2015.

Confira abaixo algumas imagens do Windows 1.0:

windows_1.0_001
windows_1.0_002
windows_1.0_003
windows_1.0_004
windows_1.0_005
windows_1.0_006
windows_1.0_007
windows_1.0_008
windows_1.0_009
windows_1.0_010

Fontes e Direitos Autorais: Baboo.com – Sid Vicious @ 20 nov 2015 | 7:26 am

Processador Intel 4004 completa 44 anos


O dia 15 de novembro de 2015 marcou o 44º aniversário do processador Intel 4004, o primeiro lançado comercialmente pela empresa.

Processador Intel 4004 completa 44 anos

O processador foi o primeiro modelo single-chip, tinha clock de 740kHz, 4 bits e era conectado à placa-mãe através de seus 16 pinos. Além disso, o Intel 4004 era capaz e processar entre 46.300 e 92.600 instruções por segundo.

Processador Intel 4004 completa 44 anos

Processador Intel 4004

Parece muito, mas nem se compara aos processadores disponíveis hoje. Para se ter uma ideia, os processadores compatíveis com o socket LGA1155 possuem um desempenho até 350.000 vezes maior do que o 4004 e cada um de seus transistores utiliza 5.000 vezes menos energia do que os usados pelo velho chip.

O primeiro processador Intel 4004 tinha 2.300 transistores. Para efeito de comparação, um processador da linha Intel Core disponível em 2010 tinha 560 milhões de transistores.

Além disso, a largura da linha de circuito do 4004 era de 10 mícrones ou 10.000 nanômetros. Um cabelo humano tem em média m diâmetro de 100.000 nanômetros.

Confira a história do 4004 em sua página dedicada no site da Intel.

Die do processador Intel 4004

Die do processador Intel 4004

Fontes e Direitos Autorais: Baboo.com – Sid Vicious @ 16 nov 2015 | 9:03 am

Mercado corporativo responde bem à adoção do Windows 10, diz Gartner


Havia muita dúvida a respeito da adoção do Windows 10 ao mercado corporativo. Isso porque o Windows 8 e o Windows 8.1 foram rejeitados pelas empresas que preferiram permanecer com o Windows 7 em suas máquinas. No entanto, com as diversas mudanças e melhorias presentes no novo sistema operacional da Microsoft, o mercado corporativo está respondendo muito bem às expectativas.

Apesar das mudanças exigirem alterações na forma de gerir o suporte, a reação das empresas em relação ao Windows 10 superou as expectativas do Gartner. “Sabíamos que a recepção ia ser melhor que a do Windows 8”, disse Stephen Kleynhans durante o Gartner Symposium/ITExpo, nos Estados Unidos. Mesmo assim, o analista se disse “chocado” com a resposta positiva.

Essa reação, na opinião de Kleynhans, é reflexo da qualidade do sistema operacional, mas também do fato de a atualização para o Windows 10 ser praticamente inevitável. Em 2018, o Gartner prevê que cerca de 80% dos usuários empresariais estejam utilizando o Windows 10.

A mudança de sistema realça alguns aspectos importantes no planejamento dos executivos de TI. Algumas desinstalações devem ser realizadas, visto que há um prazo curto para o suporte, como é o caso do Internet Explorer para as versões 8 e 10, que termina neste ano.

É importante que as empresas estejam atentas ao fato da Microsoft optar por atualizações incrementais de quatro em quatro meses, considera o analista. Pode haver complicações, caso as empresas desconsiderem isso. Não será necessário correr imediatamente para atualizar cada posto de trabalho, mas é preciso manter as máquinas atualizadas nas últimas versões. Manter o sistema desatualizado poderá implicar em problemas de segurança críticos para ambientes corporativos.

Para Kleynhans, os executivos de TI interessados em “realmente fazer uso do Windows 10” devem repensar em seus processos. A adoção do sistema operacional é um compromisso de manter a empresa atualizada “com a mais recente versão”. Não basta apenas instalar o Windows 10 na rede empresarial. Os que querem manter a segurança e o bom desempenho do sistema “precisam de um pouco mais de trabalho”, ressalta o analista.

Fontes e Direitos Autorais: Canaltech – Redação | em 14.10.2015 às 10h15.