Mostrando postagens com marcador Microsoft. Mostrar todas as postagens
Mostrando postagens com marcador Microsoft. Mostrar todas as postagens

quarta-feira, 1 de julho de 2015

SQL Server MVP 6.0

01 de Julho de 2015, mais um ano renovado como Microsoft Most Valuable Professional (MVP) na especialidade SQL Server. Curiosamente ontem foi meu último dia no Sicoob, uma coincidência legal, pois junto com o ânimo das mudanças e meu retorno full-time para a Nimbus, aproveito também para comemorar o MVP 6.0!



Espero contribuir ainda mais com a comunidade técnica de SQL Server e poder ajudar profissionais do mundo todo. E obrigado a todos que leem este blog e as tranqueiras que eu escrevo.

De quebra, junto com a mudança eu aproveitei e dei uma repaginada no escritório, inclusive sei que vou aproveitar para ler alguns livros atrasados e revisitar outros. Abaixo porque evito comprar muitos mais livros impressos… Isso que ainda estão alguns outros e essa é só a estante técnica. :-)






Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

sexta-feira, 22 de março de 2013

MVP Virtual Conference

Oi pessoal.
Na próxima semana teremos um grande evento, o MVP Virtual Conference (http://mvpvirtualconference.azurewebsites.net). São 3 dias de evento e eu estou diretamente envolvido com ele, mais especificamente no último dia.
Eu ajudei como um dos track owners da trilha BI, Big Data e Gerenciamento de Dados e estarei com outros MVPs no dia 28/03 apresentando uma série de assuntos bem interessantes. Confirma abaixo o que teremos:
Horário
Título
Descrição
Palestrante(s)
09:00-10:15
Cenário atual no mundo dos dados e a plataforma SQL Server
A importância dos dados sempre foi notada, mas com o aumento no volume de dados e o aparecimento de novas tecnologias e tendências, as empresas estão cada vez mais focando no controle e uso dos seus dados. Nessa sessão vamos apresentar o atual mundo dos dados e discutir o que temos hoje e o que está por vir: big data, Hadoop, column store, Hekaton, databases on the cloud, PDW, Data Explorer e, claro, melhorias da engine do SQL Server.
Luciano Moreira (MVP) / Fabiano Amorim (MVP)
10:15-11:30
Alta disponibilidade e integração de dados
Os requisitos de disponibilidade e acessibilidade para os seus dados só aumentam, e sua plataforma de dados deve oferecer condições de suportar o seu negócio sem surpresas. Nessa sessão vamos apresentar cenários de alta disponibilidade com o SQL Server 2012 AlwaysOn, combinando diferentes recursos e um misto de recursos, como espelhamento, clustering, replicação, etc. Será apresentado também como utilizar recursos do AlwaysOn juntamente com o Integration Services, para facilitar o acesso aos dados.
Luciano Moreira (MVP) / Nilton Pinheiro (MVP)
13:00-14:15
Cenário do mundo Real com Arquiteto do MTC
Nessa sessão um arquiteto do MTC (http://www.microsoft.com/brasil/mtc/) vai falar sobre a contextualização da história de big data e atuais soluções disponíveis. Apresentando em seguida um exemplo real de como podemos trabalhar com o Windows High Performance Computing (HPC), utilizando ferramentas do SQL Server para exploração e visualização dos dados.
Pericles Rocha (Microsoft)
14:15-15:30
Explorando dados e extraindo informações – Plataforma de BI
Business Inteligence sempre é um assunto que desperta muito interesse e área de grande investimento pelas empresas e a Microsoft está continuamente investindo na integração e desenvolvimento de novas ferramentas para análise dos dados. Nessa sessão vamos ver quais são as novidades do SQL Server Analysis Services, power view no Sharepoint e no Excel, power pivot, além do Data Explorer, plugin para o Excel para extração e transformação de dados de diferentes origens para facilitar a análise dos dados.
Felipe Ferreira (MVP)
15:30-16:45
Roundtable sobre cenários do mundo real
Palestrantes da trilha se reúnem para debater tópicos e tirar dúvidas de participantes sobre as tecnologias abordadadas na trilha de BI, Big Data e Gerenciamento de Dados.
Palestrantes e convidados

Reserve um tempo na sua agenda e não deixe de participar, pois sempre vale a pena conhecer um pouco mais!
Abraços

quinta-feira, 9 de agosto de 2012

Impressões da prova 70-483 - C#

*** Atualização ***

Respondendo um comentário abaixo, sim eu passei na prova.
No transcript aparece uma especialização: Programming in C# Specialist

****

Hoje de manhã eu fiz a prova beta 70-483 - Programming in C# (http://www.microsoft.com/learning/en/us/exam.aspx?id=70-483), onde saí um pouco da minha zona de conforto com o SQL Server para dar um gás na veia de desenvolvedor que sempre tive. Historicamente eu já ministrei treinamentos de C# (2124, que considero um dos melhores da MS), mas andava desligado das novidades, então parei um dia para dar uma revisada no que apareceu de novo, rever alguns conceitos, etc.
 Para estudar e aprender a linguagem, eu recomendo o livro C# 4.0 Unleashed do Bart De Smet, achei o livro muito bom, me impressionou mesmo, não sendo aquele que fica no “olha um trecho de código”, mas sim explicando motivação e detalhes de funcionamento, IL gerado, etc. Então ontem foi dia de uma bela passeada por mais de 1.500 páginas, uma olhadela em treinamentos no Pluralsight, coding com visual studio 2012, isto é, um dia nada mal.
Sendo prova beta o resultado não sai agora, então não sei se passei ou não, mas devo confessar que não achei a prova difícil. Algumas questões muito fáceis e as mais difíceis são as que eu considero ruins, pois cobram decoreba de assinatura de métodos ou saber significado de enums pouco utilizados no dia-a-dia.
Então vamos para os famosos bullet points de resumo, organizados pelas quatro áreas que estão detalhadas no portal da prova em “Skills measured”...
Manage program flow
·         Foram cobradas questões pontuais sobre async e sincronização de objetos, nada muito complexo.
·         Muitas questões de preencher as lacunas com textos pré-formatados, principalmente em control flow e em sua maioria questões simples.
·         Boas questões sobre delegates e eventos, que exigem um entendimento correto do mecanismo e do que a questão está pedindo.
·         Diferente das provas de SQL Server que têm parte do cabeçalho inútil, os dessa prova foram mais sucintos e em geral exigiram mais cuidado na leitura.
·         Tratamentos de erro foram cobrados, levando em conta hierarquia de exceptions, detalhes do throw, stack trace, etc.
·         Em geral foi uma parte bem coberta e sem surpresas.
Create and Use Types
·         Foram as questões mais interessantes que exigiu bom conhecimento de OO, com polimorfismo e cia.
·         Claro que generics estão em toda parte e foram bastante cobrados.
·         Os pontos baixos foram três questões, uma por somente cobrar uma mudança na ordem das palavras, isto é decoreba, outra por um enunciado terrível e uma que a resposta era clara, mas fiquei um pouco confuso com a forma exposta.
·         Achei que iria cair mais a parte de reflexão e o dynamics, por exemplo, mas na minha prova questões desse tipo praticamente nada foi selecionado.
Debug Applications and Implement Security
·         A parte mais chata da prova pela forma que foi cobrado.
·         Você sabe qual opção de enum deve usar para uma tarefa específica quando está se manipulando certificados X509? Pois é, nem eu.
·         E a enumeração correta para usar um tipo específico de contador de performance?
·         Liste os algoritmos de criptografia por ordem de segurança (claro que a questão era diferente), mas pegue a ideia.
·         Algumas questões de logging, GAC, RegEx (entre outras) foram bacanas, mas senti dificuldade não pelo conceito, mas sim pela exigência de saber o que diabo cada opção de um enum significa, e isso em classes que são pouco usadas (acredito eu).
Implement Data Access
·         Poucas questões de ADO.NET, ambas simples.
·         Algumas questões com LINQ, que gostei bastante, alguma para preencher as lacunas, outras mais complexas, enfim, um mix bem legal.
·         A parte de serialização caiu bem também, algumas questões mais chatas que exigem do candidato um contato com algumas APIs e contratos.
·         Streams e manipulação de XML também estão presentes, então é um tópico que deve ser estuado. O problema é que XML é um mundo a parte, então nada muito elaborado com esquemas, mas sim acesso básico, criação, etc.
No fim ainda consegui escrever 20 minutos de feedback em diversas questões, apontando as muito simples, aquelas com problema de enunciados e reclamando das de pura decoreba. Foram 50 questões com quase 3 horas de prova, o que dá tempo de sobra para esse modelo.
Conclusão: em geral eu gostei da prova, mais bem elaborada que algumas de SQL Server 2012 que eu fiz, mas o grau de dificuldade não é alto, então para quem está trabalhando com o C# e acompanhando as novidades, deve fazer a prova sem ter que dedicar muito tempo de estudo.
Agora é esperar o resultado da prova e torcer por ter passado, afinal acabei de falar que achei relativamente simples. J
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

segunda-feira, 9 de abril de 2012

Impressões da prova 70-465

Sexta-feira, feriadão nacional e onde eu estava 08:50 da manhã? Na Hepta/Novintec para fazer a prova 70-465 Designing Database Solutions for Microsoft SQL Server 2012 (na verdade 71-465, já que era uma prova beta).
Eu marquei a prova sem consultar os feriados e por coincidência a data ainda estava aberta no calendário da Prometric, então lá estava eu, arrastando a recepcionista em pleno feriado para fazer mais uma prova beta de SQL Server 2012. Tirando um atraso do sistema de 50 minutos, acabei a prova toda em aproximadamente 1:15h.

Com essa encerrei meu ciclo de provas beta, nesta semana a agenda está bem atribulada e ainda tenho que estudar mais sobre algumas coisas do SQL Server 2012 para as outras provas. Dentre as três provas eu gostei mais da 70-461, achei ruim a 70-464 e a prova 70-465 está no meio termo, acho que é um prova que consegue cobrir bem o conteúdo que está descrito pela Microsoft (
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-465#tab2), mas ainda falta um pouco mais de complexidade para ser uma prova de design, que julgo eu, deveria ser a mais complexa das três.

Vamos ao pontos da prova...


1. 
A prova tinha duração de 3 horas contando tempo para questionários, e efetivamente 2:15h para as questões. Ainda me pergunto porque a 70-464 é a mais longa, de novo acho que essa prova têm que ser a mais complexa e, portanto, mais longa.
2. A prova era composta de 5 (ou 6?) estudos de caso e mais 28 questões avulsas, sendo que dos N estudos cada um tinha em média 3 questões e dois casos se repetiram, cada um com questões diferentes. Gosto muito dos estudos de caso, mas não da forma como foi colocado.
        a. Achei essa quebra muito ruim, alguns casos são grandes e é impensável você ler tudo antes de partir para as questões, então têm que partir das questões e encontrar o que precisa na descrição do cenário. Se a Microsoft agrupasse as perguntas, poderia dar mais complexidade às questões sem o aluno “perder tempo” com muito enunciado, portanto acredito que o ideal seria 2 cenários longos com 8/9 perguntas em cada um.
3. Nesta prova você não é cobrado por sintaxe ou como utilizar o SSMS para executar determinada tarefa, sendo uma prova de designing a Microsoft que validar se você sabe como escolher a melhor funcionalidade para compor uma solução, então vai exigir conhecimento bem diversificado, indo desde mirroring e AlwaysOn, passando pelo Agent, backup/restore, criptografia, PBM, indexação, programming, etc. 
4. Como já mencionei, algumas questões poderiam ser mais complexas e outras pecam por não possuírem um maior detalhamento para você  escolher a MELHOR resposta, mas teve melhor qualidade do que a 70-464.

Lado técnico... É quase mais fácil falar o que não caiu, no máximo 2 questões sobre um determinado assunto, mas vou tentar relembrar alguns pontos que merecem atenção.


1. Edições do SQL Server e do Windows Server: algumas vezes o enunciado cobra aquele que atende o requisito e quer minimizar o custo, então saber se existe no Standard/Enterprise, se executa no Windows Core, é necessário. Particularmente sou muito ruim em saber funcionalidade x versão, provavelmente devo ter errado alguma.

2. Estratégica de Backup/Recovery, alertas e jobs também são cobrados. Se você é desenvolvedor e nunca viu isso, vai te atrapalhar com certeza.
3. Ferramentas para fazer um troubleshooting são cobradas (inclusive uma mesma questão apareceu com respostas diferentes), saber se deve olhar wait stats ou outra DMV (e quais).
4. Indexação, manutenção, influência de tipos de dados (ex.: LOBs).
5. Programação T-SQL usando tabelas @ e #, normalização (caiu uma questão bem bacana).
6. Concorrência – principalmente escolha de níveis de isolamento, como resolver deadlocks, etc.
7. Segurança – ownership chaining, TDE.
8. Filetable vs. Filestream vs. VARBINARY(MAX)
9. Alguns assuntos que não caíram (provavelmente você pode esbarrar com algum desses): tópico “Design SQL Server instances”, Entity-Attribute-Value (EAV) modeling, triggers DDL, e um ou outro mais.

Então para essa prova se você só trabalhar com T-SQL ou é um DBA que só olha para a parte administrativa, terá problemas com essa prova, não que seja extremamente difícil, mas errinhos bobos quando acumulados pode representar sua reprovação. Minha sugestão, explore bem a lista de conteúdo da prova, lendo um pouco sobre cada coisa e entendo o quadro geral, e provavelmente você se dará bem nessa prova. Realmente ainda espero que a prova definitiva seja mais difícil...


Fecho aqui minha série sobre as provas betas, espero que esses comentários possam te ajudar, seja na prova beta ou na definitiva. Agora é esperar algumas semanas e torcer para o resultado ser positivo, prometo que atualizo os posts com o resultado da prova, aí poderemos saber se os conselhos ganham mais solidez. E como eu critiquei bastante algumas provas, seria melhor não reprovar...


Bom estudo!

[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quarta-feira, 4 de abril de 2012

Impressões da prova 70-464

Hoje de manhã fiz a prova 71-464: Developing Microsoft SQL Server 2012 Databases (que por ser beta fica com o 71 ao invés do 70) e NÃO gostei da prova nem um pouco.

Antes de fazer a prova eu sempre dou uma olhada no site da prova (http://www.microsoft.com/learning/en/us/exam.aspx?id=70-464) e reviso as habilidades que são cobradas (skills measured). Dei uma olhada e nada fora do esperado para uma prova de desenvolvimento do SQL Server 2012, revisei algumas novidades do SQL Server 2012 e tudo certo, pronto para a prova.

Seguem as críticas e pontos positivos da prova...


1. 
A prova beta tinha 2 estudos de caso (6 e 11 questões) e 28 questões avulsas. Eu particularmente sou um grane fã dos estudos de caso, acho que trás uma maior complexidade para a prova e o candidato têm que levar em consideração diversos aspectos que podem influenciar a resposta, sem ter a garantia de que os fatores que influenciam na resposta estão ali em cima, no cabeçalho. Ponto para a Microsoft.
2. A prova tinha duração total de 4 horas com os todos questionários e 3 horas e 15 min (ou algo parecido) para as questões técnicas. Eu acabei tudo em 1:30h, então de prova foi 1:15h. Ou a prova definitiva vai ser diferente ou alguém errou feio no tempo, não vi necessidade de todo esse tempo.
3. Nessa prova questões do tipo “Escolham todas respostas que se aplicam” sem falar o número de itens que devem ser marcados e outras do tipo “Escolha aquela que MELHOR responde a pergunta”.
        a. Com relação ao primeiro tipo, não tenho muito problema em não saber o número exato de itens, é mais difícil, só não sei se a correção considera tudo ou nada para a pontuação da prova.
        b. Já o segundo trás um problema, você têm que considerar muitos aspectos para escolher o melhor, mas o enunciado da questão muitas vezes é pobre! Eu levo em conta mais uns 10 detalhes que não foram definidos na questão e recorrentemente fico tentando adivinhar o que o autor da questão estava pensando. Uma merda.
4. Questões de arrastar elementos para compor a solução estão presentes e acho legal, pois o candidato têm que saber estruturar a resposta. Só acho que deveriam ser oferecidas mais opções para dificultar um pouco, da forma que está na maioria das vezes é simples.
5. Muitas questões avulsas parecem que foram escritas com pressa e as respostas são muitas vezes ridículas. Acho interessante combinar questões que exijam do candidato um formalismo de sintaxe e outras que cobrem conceitos, como quando usar funcionalidade X ou Y.
        a. O que não rola é o camarada colocar uma questão conceitual em que a resposta é utilizar um XSD e entre as respostas ter “sp_configure”, “trigger de DDL”, “índice XML”. O que ele está efetivamente testando? Se o cara sabe já ouviu falar alguma vez o que significa XSD (já que na questão sintaxe não é cobrado)?
6. Eu tive que comentar uma questão com o seguinte texto “This is the worst question I’ve ever seen in a Microsoft Exam. Remove it.”.
        a. A questão tinha um enunciado super confuso, uma procedure de referência que você tinha que corrigir e entre as opções tinham: alterar a linha 1; linha 4; linha 6; linha 14. SEM FALAR O QUE DEVE SER UTILIZADO. Era uma questão que tinha potencial para avaliar se o camarada entendeu o estudo de caso e validar construções T-SQL, mas a forma como foi escrita a questão, PQP!
7. Achei problemático a consistência entre questões dentro de um estudo de caso, por exemplo.: uma questão pedia para definir o tipo de dados de uma coluna, para armazenar algo do dado “00434000242” (string explícita na descrição caso!), onde é uma combinação de 2 números. Eu escolheria CHAR(11), para facilitar o tratamento posicional. Logo em seguida vem uma questão para adicionar uma foreign key para essa mesma coluna que as únicas opções era trabalhar com BIGINT. Voltei e mudei a minha resposta, já que não seria consistente no mesmo caso uma coluna com dois tipos.
8. Uma questão ou outra eu achei fora do contexto do desenvolvedor TSQL. Me respondam, um dev precisa saber que existe o sp_add_job ou sp_add_operator para trabalhar migrar Jobs do agente entre servidores.

Revisão dos itens técnicos:

1. 
Primeira coisa que me impressionou, não vi nenhuma questão sobre novidades do SQL Server 2012: contained databases, FileTable, column store index, etc. Pode ser alguma coisa com o sorteio das questões, mas estranho.
2. Objetos de programação: views, procedures e UDF. Chove na prova, nada de outro mundo, só para validar se o cara sabe escrever procs, alterar, trabalhar com schemabinding, tipos de UDF, etc.
3. XML: caiu muito na prova, mas em geral questões simples (nível 100/200). Quando poderia complicar a sintaxe, vinham as perguntas genéricas. Saber trabalhar com colunas XML, XPath, XSD, DOCUMENT/CONTENT, etc.
4. Índices e desempenho: caiu bem, entender os tipos, cover index, filtered, etc. A maioria das vezes acompanhado de consultas ruins ou descrição de cenários, em geral tranquilo, tirando uma onde eu acho que se a MS queria validar o mesmo que eu imaginei, é fora da realidade.
5. Tipos de dados e criação de objetos/esquemas: algumas questões, na sua maioria simples, uma ou outra com sintaxe que utilizamos pouco (ex.: esquemas) que pode pegar alguns, como me pegou. :-)
6. Segurança: caíram mais questões relacionadas a criptografia (e seus tipos), TDE e assinaturas. Senti falta de mais questões relacionadas com ownership chaining, atribuição de permissões e execute as/revert.
7. Questões isoladas (1 ou 2): locking,  CLR, objetos temporários, transações, DMVs (ridícula a questão), Full-Text Search,

Em geral eu achei muito mal distribuídas as questões, não cobrindo assuntos importantes e repetindo questões do mesmo assunto. Enunciados pobres, questões mal formadas e muita questões tão simples (espero eu) que deixa a gente na dúvida, além de pouco validar.

Sinceramente eu acho que fui bem na prova, mas até agora estou pensando se não havia algum peguinha nas questões ou o que o autor queria avaliar no candidato, então um resultado negativo não está fora de cogitação. Claro que continuo torcendo para passar, mas espero que a Microsoft faça uma bela revisão no conteúdo dessa prova, pois não acredito que atinge o objetivo de avaliar o desenvolvedor SQL Server. Diferente da 70-461 (http://luticm.blogspot.com.br/2012/03/impressoes-da-prova-70-461.html) que fez isso muito bem.

Boa prova!


[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quinta-feira, 29 de março de 2012

Impressões da prova 70-461

Hoje de manhã fiz a prova 71-461: Querying Microsoft SQL Server 2012 (que por ser beta fica com o 71 ao invés do 70) e realmente gostei do que eu vi.

Antes de fazer a prova eu sempre dou uma olhada no site da prova (http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-461) e reviso as habilidades que são cobradas (skills measured). Aconselho a todos que se balizem por isso para estudar, sempre é muito certeiro.

Falar de prova beta tem um ponto negativo, pois você não sabe se passou ou não, mas claro que tem ideia se foi bem.
Quando eu marquei a prova não esperava encontrar grande dificuldade por ser uma prova que eu considero básica (já fiz uma ou duas consultas no SQL Server), e efetivamente a prova seguiu a linha que eu estava esperando. 
Então vou deixo aqui algumas impressões para o próximo candidato...

  1. A prova tinha um pouco mais de cinquenta questões e sinceramente estava esperando mais um pouco, não sei porque estava com 75 na cabeça, e foi bem abaixo disso.
  2. A prova oficial deve ter menos questões, mas para esse tipo de prova eu acho que o melhor seria manter 50 questões, pois permite avaliar o candidato em mais tópicos.
  3. A prova não apresenta grande dificuldade para alguém que já trabalha com o T-SQL, mas não deixa de ter perguntas que bem legais e, como toda prova, perguntas para atestar se o candidato sabe o mínimo.
  4. Durante a prova eu notei algumas pegadinhas, como inverter a ordem natural em que uma instrução é utilizada pelos desenvolvedores ou cobrar do candidato qual a diferença entre UDT e UDDT. Na boa, a primeira até vai para ver se o candidato está atendo, mas a segundo eu acho ridículo, é mais importante o candidato saber como e quando usar algo do que decorar qual o exato nome de uma funcionalidade.
  5. A prova apresentou as tradicionais questões de múltipla escolha, múltiplas respostas e as questões onde você monta a ordem da resposta (gosto bastante). De novidade essa prova trouxe 3 questões seguidas onde as opções de resposta são as mesmas e o que muda é o enunciado, que também achei legal mas facilita um pouco, já que o candidato pode fazer comparações e as vezes corrigir um erro que cometeu na anterior.
  6. A prova ainda conta com questões que não exigem conhecimento de sintaxe ou detalhes de uma funcionalidade, se você vive nesse planeta deve conseguir responder, apenas basta marcar uma resposta (com outras opções esdrúxulas) e pronto. São essas questões que eu acho que deveriam desaparecer das provas da Microsoft.
  7. Outro alvo de minhas críticas são algumas questões mal escritas ou que podem haver duas respostas certas dependendo do tipo de dado (ex.: date vs datetime) que não é explicitado. OK, beta é beta, vamos ver se melhora. 
  8. Pela primeira vez eu gastei todo o tempo de comentário apontando alguns errinhos na prova, frases dúbias e outras coisas que eu não gostei. Nem tive tempo de comentar algumas questões que achei fantásticas e que acho importantíssimo serem tratadas.
  9. Espero que as outras provas sejam (bem) mais difíceis, e mesmo acreditando que as provas devem ser casca grossa, ter uma prova com um nível mais básico é fundamental para aqueles que estão começando sua jornada de certificações e a trabalhar com a tecnologia.

Assuntos técnicos

  1. Não existe um assunto específico que domina a prova, temos um pouco de cada assunto e tudo muito bem distribuído, então se você não sabe uma coisinha ou outra, não deve ficar muito prejudicado.
  2. Mesmo sendo uma prova de querying, vai ser falado sobre procedures, views, UDFs, triggers, etc. Então saiba sintaxe, limitações, como e quando utilizar.
  3. Construir selects básicos não fazem parte da prova. Mas algumas coisas mais elaboradas sim, como where + group by + having, joins, apply, pivot, ranking, etc.
  4. Insert, update, delete e merge vão aparecer na prova, mas novamente com uso mais elaborado, cláusula output, dependência entre outras tabelas, etc.
  5. Escolha de tipos de dados, manipulação de datetime, criação de constraints, uniqueidentifier vs. Identity vs. Sequence, também aparecem estão presentes.
  6. Novidades do SQL Server 2012 estão espalhadas pela prova e deviam representar cerca de 8 a 10 questões na minha prova. Dê uma olhada: OFFSET FETCH, THROW, SEQUENCE, IIF, TRY_PARSE, EOMONTH, funções analíticas, WITHIN GROUP e window functions.
  7. XML também está sempre presente, nenhuma construção muito elaborada com XQUERY (que pode ficar beeeemmm complexa), mais recuperação com FOR XML e suas diversas combinações. E ah, rolou uma questão bem puxada com XSD, update de XML e XPaths.
  8. Outros assuntos que pintaram por lá: colunas computadas, níveis de isolamento, locking hints, criação de índices, non-sargs, cursores, @@error, TRY CATCH, transações, entre outros.
  9. Ver uma questão onde existem mais de uma resposta “certa”, no enunciado citar “aquela com melhor desempenho” e exigir que o candidato saiba quando um índice pode ser “ignorado” pelo SQL Server, é realmente lindo. 
  10. Uma coisa que me deixou um pouco intrigado... eu respondi duas duas questões com base em considerações pesadas: uma sobre performance de data loading com minimally logged operations e outra sobre tempdb, version store e possíveis impactos. Acho que o candidato iniciante pode chutar uma melhor resposta sem saber exatamente os detalhes que justificam sua resposta, o que é ruim, então deixei um comentário que talvez essas questões precisariam de um enunciado melhor ou se estariam na prova certa... 

Resumindo o “falatório escrito”. Gostei muito da prova, acho que é uma bela porta de entrada para os novatos e uma prova que não vai causar dificuldade para os mais experientes, trabalhando no nivelamento correto e com alguns ajustes, eu considero uma prova que atinge bem seus objetivos.

Concordo demais com a Microsoft em parar com aquela sacanagem de: fez um prova vira MCTS, mais uma MCITP. Quer ser um profissional certificado em Data Plataform, então são CINCO provas de SQL Server 2012 (http://www.microsoft.com/learning/en/us/certification/cert-sql-server.aspx#tab2).
Essa foi a primeira prova beta, que venham as próximas...

PS: O Freccia fez outra prova beta hoje e já blogou. Quer saber mais sobre a 70-462? Aqui: http://marcosfreccia.wordpress.com/2012/03/29/dicas-para-a-prova-71-642/

Bons estudos!


****************************************
Aproveitando o excelente comentário do Wellington...

Entendo qual o ponto dele, vamos supor que você passou nas provas 461, 464 e 465, que dão a você o direito de ser um profissional de desenvolvimento com SQL Server 2012, mas na sua titulação não vai aparecer nada além de um MCP. 3 provas e nenhuma "certificação"?! Eu ainda acho isso correto.

Se você é um profissional de desenvolvimento provavelmente não vai ser só um cara que utiliza o SQL Server e o T-SQL, então o que eu acho que a Microsoft deve fazer é criar a certificação Microsoft Certifed Professional Developer with SQL Server, onde além das 3 provas de SQL Server você ainda teria que fazer pelo menos uma prova de fundamentals de .NET e a prova de acesso a dados (ADO.NET). Aí sim você tem o perfil de desenvolvedor na plataforma Microsoft e sabe de SQL Server e como acessá-lo.

Sei que pode complicar um pouco o modelo, mas acredito que a melhor maneira de refletir no currículo o perfil do profissional mantendo um alto grau de especialização, é através da composição de provas, como essa que eu citei. Lembro que no passado existiam algumas provas obrigatórias e algumas eletivas para você virar MCDBA ou MCSE, acho que esse é o melhor modelo. E não so isso, existia também MCSE + Messaging ou MCSE + Security (se não me falha a memória), que eram especializações para o MCSE.

Uma coisa que eu discordo é não haver uma prova de Windows Server em Data Plataform. Não poderia ser uma prova muito difícil com troubleshooting e design de infraestrutura, mas algo que verificasse se o candidato possui conceitos como básicos, como SO (memória, processadores, paging file), I/O + storage, networking essentials, etc.

Mas ainda não resolvemos o caso do profissional que fez as 3 provas, como ele fica?! Na verdade já está resolvido, no transcript vai aparecer que o profissional fez as provas, então se eu olho isso eu já sei imediatamente o mínimo que posso esperar (e cobrar) do indivíduo, claro que não fica bonito como um título, mas em termo dos conteúdos cobertos, a validade é a mesma.

E se o recrutador não consegue distinguir isso? Bom, aí o problema é outro...


Por fim acho que ainda não temos o melhor modelo, mas acredito que um mais exigente é melhor do que o anterior. Uma coisa que não sei como vai funcionar é essa renovação de 3 em 3 anos. Acho que ainda vamos assistir muitas mudanças e o que vai valer mesmo é o transcript do candidato com seu histórico.

****************************************

****************************************
Adendo 2 [04/04/2012]

Entendo a questão do mercado, infelizmente ele é muito burro (o termo correto seria rígido? ;-)) em certas coisas. Os braindumps sempre vão continuar existindo, mas aí o problema é outro, está no caráter do profissional. Acho louvável você não os utilizar e acredito que as melhores empresas vão saber reconhecer a diferença entre um profissional certificado "for real" e um babaca. De resto vou tentar ser otimista e acreditar que a humanidade vai melhorar no longo prazo.

Sob a ótica do perfil DBA, entre as cinco provas acho que está fora do que um DBA obrigatóriamente precisa saber é a prova 70-463 Implementing a Data Warehouse with Microsoft SQL Server 2012. Saber o SSIS eu acho que é valioso, mas não imprescindível, agora DQS, MDS, SSAS? Me parece mais uma jogada da Microsoft para tentar forçar o profissional a estudar mais outras tecnologias e quem sabe adotá-las, mas realmente não deveria ser uma prova obrigatória para um DBA conseguir uma titulação.

Acho que o melhor seria se a Microsoft definisse a certificação Data Plataform com 6 provas, colocasse uma prova básica de SO como obrigatória e deixasse uma prova eletiva com escolha entre: data warehouse, infra-estrutura/SO avançado e ADO.NET.

Rodrigo, curioso ou não, estou revisando o Windows Internals! Também já estou pensando em comprar a nova edição que está para sair e agora dividiram em 2 livros, ai ai ai...

****************************************
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

terça-feira, 27 de março de 2012

System Center Advisor – Introdução e Considerações

Quase dois meses atrás eu habilitei uma conta do trial do System Center Advisor – SCA por simplicidade (https://www.systemcenteradvisor.com/) - para dar uma olhada na cara deste produto. Vamos a alguns comentários rápidos sobre esta ferramenta...

Configuração
Com uma conta do LiveId você consegue um acesso ao portal do SCA rapidinho, lá têm as instruções para fazer o download dos instaladores. A configuração é bem simples, você precisa instalar agentes de coleta nas máquinas que estão rodando o SQL Server e um agente de gateway, responsável por pegar o que foi coletado e encaminhar para o serviço do SCA, que roda na nuvem.

O agente é interessante, pois usualmente servidores de banco de dados normalmente não possuem portas abertas para conexão com a Internet, então os agentes de comunicam e despacham os dados através do agente, que pode ficar em outra máquina com acesso à nuvem.

Durante a instalação dos agentes é necessário que exista um componente do System Center instalado (pré-requisito), se não houver ele mesmo instala o serviço. Caso você já utilize o System Center deverá somente verificar que o serviço “System Center Management” está rodando corretamente.

Interface de gerenciamento
A interface de gerenciamento do SCA é bem intuitiva e fácil de usar, é feita em Silverlight e mostra todos os detalhes dos servidores que estão sendo gerenciados. Leva um certo tempo para os agentes enviarem os dados para a Nuvem, pois a sincronização acontece de 12 em 12 horas, então o próprio SCA já diz para você olhar o resultado no dia seguinte.

O System Center Advisor
Vamos dar uma olhada na interface, obviamente por motivos de privacidade estou apagando das imagens todo e qualquer detalhe que aponte para os clientes onde testei o SCA, substituindo por nomes falsos de servidores.

 (Figura 01 – Painel principal do SCA)

Esse é o painel inicial do SCA. De cara ele mostra quais servidores possuem alertas críticos, warning e os sem alertas. Caso um servidor tenha esteja em duas severidades, aparece duplicado nos contadores. Além disso ele mostra informação de funcionamento dos agentes em “Server Status”.


(Figura 02 – Alertas críticos)



(Figura 03 – Avisos)


Na janela de alertas é possível filtrar por severidade, status (ativo ou fechado), classe (“SQL Database”, “SQL DB Engine” e “Windows Operating System”) ou data. Todos os campos são ordenáveis e você pode ver que um problema pode aparecer diversas vezes (ex.: banco de dados com recovery model full e sem backup de log).

Quando você selecionar um alerta a descrição do problema vai aparecer e a solução é explicada. Quando existe um KB da Microsoft a referência já aparece para você ler mais a respeito. Então além de descobrirmos problemas é uma interessante fonte de estudo!
Você sabe de onde vêm essas definições do SCA? Vêm do time de suporte da Microsoft (http://blogs.msdn.com/b/psssql/)! Isso mesmo, o Bob Ward e companheiros de equipe são os responsáveis por escrever e definir quais regras o SCA vai validar, o que eu considero uma excelente escolha. Nada melhor do que quem respira problemas no dia-a-dia criar as regras para nos avisar de potenciais problemas.

Outro recuso muito legal do SCA é o gerenciamento de alertas. Vamos supor que você já sabe de um problema (ex.: collation do banco diferente da model) e não vai resolver esse problema agora. Qual o objetivo de manter um alerta lá no SCA que pode te distrair de problemas mais importantes? Então você pode pedir para ignorar o alerta e ainda definir o escopo, somente o banco de dados, este servidor ou todos os servidores, habilitando quando achar necessário.

 (Figura 04 – Gerenciando os alertas)

Quando você resolver algum problema, seja mudando uma configuração ou tomando uma ação corretiva como manter um backup de log, em até 12 horas quando o SCA receber uma nova leva de dados do agente vai reportar o problema como resolvido.


(Figura 05 – Configuração do servidor)

Também é possível visualizar uma série de configurações do Windows, SQL Server e banco de dados, bem como mudanças de configuração que aconteceram. Se você alterou a configuração “CLR Enabled”, a alteração vai aparecer no histórico de alterações do seu servidor.

(Figura 06 – Agentes)

A outra interface (figura 06) diz respeito à configuração dos agentes de coleta e gateway, indicando quais servidores o SCA está analisando. A última janela do SCA é para configuração da conta, tipo de acesso (trial ou completo) e também permitir que outros LiveIds possam acessar o SCA, seja com permissão de usuário comum ou administrador.

Considerações

Eu gostei bastante do System Center Advisor e é uma ferramenta que eu adotaria para meus clientes, e dentro da imensa quantidade de detalhes que nós DBAs temos que nos preocupar no dia-a-dia, uma ferramenta que nos aponta potenciais problemas é mais do que bem vinda. Vale ressaltar que o SCA não vai resolver todos os seus problemas, muito longe disso, mais é uma importante adição para nosso cinto de utilidades.

Claro que nem tudo são flores e, só para variar, tenho minhas críticas. Antes de escrevê-las aqui acabei por trocar alguns e-mails com o time de produto responsável pelo SCA, conversando diretamente com o Paul e Timothy.

1. Para você utilizar o System Center Advisor no seu ambiente é necessário que a empresa faça parte do programa de Software Assurance. Isso mesmo, não existe outra forma de contratação.
        a. Isso é um grande impeditivo para a adoção do SCA. Eu gostaria de poder utilizar esta nos meus clientes, mesmo comigo pagando uma mensalidade pelo serviço ou por servidora analisado.
        b. No passado tive a oportunidade de estar em Redmond conversando com o time de produto e meu “voto” foi para um modelo de pagamento diferente do adotado. Segundo eles outras maneiras estão em estudo, mas nada certo e sabe lá se e quando isso pode mudar.
        c. Não existe nada no SCA que valide a utilização deste em um ambiente sem Software Assurance, o que você está sujeito é a fiscalização da Microsoft. No meu caso não faz o menor sentido de ficar ilegal e correr esse risco em ambiente de clientes, então estou num beco sem saída.

2. Hoje o SCA conta com exatamente 104 regras de validação, número que sinceramente, achei baixo.
        a. Não existe possibilidade de você criar sua própria regra, que para o público geral é uma boa decisão. 
        b. Analisando as regras atuais eu poderia adicionar algumas regras de melhores práticas que eu levo comigo, mas como não temos essa flexibilidade, fica com as validações que fazemos na Nimbus.
        c. Esse é realmente o número de regras total e não existe diferença entre o trial e a versão full. Não sei qual a cadência de atualização de regras (3 em 3 meses? Quando alguém do suporte escrever uma regra nova?), então temos que aguardar o time de suporte lançar as próximas regras.

Espero que esse artigo sirva para você ter uma visão geral do SCA e que você tenha um ambiente dentro dos modelos de licenciamento para usar o produto. É leve, simples e agrega valor. Agora é esperar para que a Microsoft traga boas novidades.

Abraços e bom monitoramento!

[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br