Mostrando postagens com marcador SQL Server 2012. Mostrar todas as postagens
Mostrando postagens com marcador SQL Server 2012. Mostrar todas as postagens

quarta-feira, 9 de janeiro de 2013

DBCC PAGE – bug com índice filtrado

Post rápido...
Gravando o treinamento on-demand de indexação eu me deparei com um possível bug do DBCC PAGE, onde ele formata incorretamente a saída de uma página do índice cluster, quando criamos um índice não-cluster filtrado na mesma tabela.
O Fabiano Amorim reproduziu e o Paul Randall também, então é um bug. O fato de não ser um comando documentado não sei se vai ganhar muita atenção no Connect, mas registrei uma entrada mesmo assim: https://connect.microsoft.com/SQLServer/feedback/details/776144/dbcc-page-incorrect-output-with-filtered-indexes.
Se quiser reproduzir o problema, o script está aqui:
USE tempdb
GO

SELECT @@version

IF OBJECT_ID('dbo.MyTable', 'U') IS NOT NULL
      DROP TABLE dbo.MyTable
GO

CREATE TABLE dbo.MyTable (
      ID INT IDENTITY NOT NULL PRIMARY KEY
      , Name CHAR(100) NOT NULL DEFAULT ('DBCC PAGE')
      , SomeDate DATETIME2 NOT NULL DEFAULT(SYSDATETIME())
)
GO

INSERT INTO dbo.MyTable DEFAULT VALUES
GO 30000

INSERT INTO dbo.MyTable ( Name, SomeDate )
SELECT Name, DATEADD(YY, -1, SomeDate)
FROM dbo.MyTable
GO

SELECT
      OBJECT_NAME(object_id) AS ObjectName
      , AU.*
      , P.*
FROM SYS.system_internals_allocation_units AS AU
INNER JOIN SYS.Partitions AS P
ON AU.Container_id = P.Partition_id
WHERE Object_ID IN (object_id('MyTable'))
ORDER BY object_id, type
GO

DBCC TRACEON(3604)
DBCC PAGE(Tempdb, 1, 1383, 3)
GO

-- output ok

CREATE NONCLUSTERED INDEX idxNCL_MyTable_SomeDate
ON dbo.MyTable (SomeDate)
WHERE SomeDate > '2013-01-01'
go

-- Same root page for CL, as expected
SELECT
      OBJECT_NAME(object_id) AS ObjectName
      , AU.*
      , P.*
FROM SYS.system_internals_allocation_units AS AU
INNER JOIN SYS.Partitions AS P
ON AU.Container_id = P.Partition_id
WHERE Object_ID IN (object_id('MyTable'))
ORDER BY object_id, type
GO

DBCC PAGE(Tempdb, 1, 1383, 3)
GO

-- output not ok

DROP INDEX MyTable.idxNCL_MyTable_SomeDate

-- output ok again
DBCC PAGE(Tempdb, 1, 1383, 3)
GO

Abraços,
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

quinta-feira, 3 de janeiro de 2013

[SQLServerDF] Encontro XVI – AlwaysOn Availability Groups

Para iniciarmos forte os trabalhos do grupo SQLServerDF em 2013 já agendamos o nosso primeiro encontro que acontecerá daqui a uma semana. Dessa vez contamos com mais um novo palestrante, integrante do famoso SQL weeding, nosso amigo Edvaldo Castro.
Sem mais demoras, os detalhes do encontro estão aqui:
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302 – Brasília, CEP 70712-900
Data e horário: 10/01/2013, 17:30h ~ 19:30h
Tema: Alta Disponibilidade com SQL Server 2012 – Always On Availability Groups
Descrição: Nesta sessão será apresentado o novo conceito de disponibilidade do SQL Server 2012, suas vantagens e desvantagem em relação ao que já existia (Failover Cluster, Database Mirroring, Log Shipping, etc). Será feito uma implementação do Always On Availability Group, além de diversas demonstrações das possibilidades e facilidades oferecidas por este fantástico recurso.
Palestrante: Edvaldo Castro
Mini-bio:
Edvaldo Castro é Administrador de Banco de Dados Graduado em Sistemas de Informação e Informática Empresarial & Comercial pela Universidade de Franca. Trabalhou em empresas de grande porte como uma fábrica de celulose multinacional, Fundação de Pesquisa da Universidade Federal de Juiz de Fora e atualmente atua como DBA em uma grande instituição financeira com mais de 600 unidades em todo Brasil, sediada em Brasília, tendo em todas estas empresas o foco em infraestrutura e disponibilidade com SQL Server.
Possui as certificações MCTS (SQL Server 2005/2008), MCITP (SQL Server 2005/2008), MCT, CCSQLA, TOEIC e é membro do grupo MTAC (Microsoft Technical Audience Contributor), além de escrever regularmente em seu blog pessoal com conteúdo focado em SQL Server: http://edvaldocastro.wordpress.com.
Quer participar? Então mande para o grupo SQLServerDF um e-mail confirmando sua presença, pois a capacidade do auditório é limitada, portanto atendemos por ordem de recebimento de e-mails!
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

quinta-feira, 25 de outubro de 2012

[SQLServerDF] Encontro XV - Entendendo e Utilizando o ColumnStore Index

!! DATA ATUALIZADA !!
Tivemos que alterar o agendamento, pois na data original o escritório da Microsoft estará fora de operação.

Para fechar o ano de 2012 teremos mais dois encontros do grupo SQLServerDF, e dessa vez eu saio de cena para dar espaço aos novos palestrantes! Espero que em 2013 nós possamos manter uma melhor regularidade com esse revezamento de profissionais, assim fica mais simples garantir conteúdo variado para aqueles que já devem estar cansados de sempre verem minha cara lá na frente, falando alucinadamente durante 2h.
Sem mais demora, o detalhamento está aqui:
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302 - Brasília
Data e horário: 29/11/2012, 17:00h ~ 19:30h
Tema: Entendendo e Utilizando o ColumnStore Index
Descrição: Esta sessão têm por objetivo explicar o funcionamento do novo recurso do SQL Server 2012 o ColumnStoreIndex. Iremos entender porque esse novo recurso aumenta drasticamente a velocidade de pesquisa de uma consulta, veremos a grande diferença entre Row-Store e Column-Store, navegaremos internamente para entender o funcionamento de alocação, além de tocar em tópicos como: XVelocity, índices, melhores práticas, lados positivos, lados negativos e assim por diante.
Palestrante: Luan Moreno Medeiros Maciel
Mini-bio:
Luan Moreno M. Maciel (@LuanSQL) trabalha no Conselho Federal da OAB como especialista em SQL Server onde atua com administração, desenvolvimento, melhores práticas, gerenciamento e alta disponibilidade. Possui as certificações MCP, MTA, MCTS e MCITP de SQL Server Administrator e Developer 2008. Contribui ativamente com a comunidade nos Fóruns, TechNet Wiki e Blog.
Quer participar? Então mande para o grupo SQLServerDF um e-mail confirmando sua presença, pois a capacidade do auditório é limitada, portanto atendemos por ordem de recebimento de e-mails!
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

terça-feira, 7 de agosto de 2012

Semana de certificação SQL Server 2012

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
!!! ATUALIZAÇÃO !!!
O webcast já aconteceu, quem quer ver o PPT aqui está: http://www.slideshare.net/LucianoMoreira1/como-se-tornar-um-mcse-em-sql-server-2012

No link do webcast você pode fazer o download da apresentação.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Bom dia pessoal.
Na próxima semana um pessoal de SQL Server vai fazer uma série de webcasts sobre certificação para o SQL Server 2012. São cinco dias com o objetivo de orientar aquele que está querendo buscar uma certificação, e mesmo que você ainda esteja trabalhando em cima do 2008, acredito que as sessões podem te ajudar.

Da Sr. Nimbus eu e o Fabiano vamos fazer apresentações, sobre assuntos diferentes. Eu com o Roberto Fonseca cobriremos as provas do MCSE e o Fabiano upgrade path.

A grade completa está no blog do Freccia: http://marcosfreccia.wordpress.com/2012/08/02/semana-de-webcasts-sobre-certificao-em-sql-server-2012/

Para quem quiser já acessar diretamente a minha sessão, os detalhes estão aqui.
Palestrante: Luciano Moreira (Luti) (Blog|Twitter) & Roberto Fonseca (Blog|Twitter)
Palestra: Como se tornar um MCSE em Data Plataform e MCSE em Business Intelligence em SQL Server 2012
Descrição: Pretende se MSCE em Data Plataform ou Business Intelligence em SQL Server 2012? Esse Webcast irá mostrar quais os passos para a certificação com dicas, material de preparação e o melhor de tudo tirar duvidas com profissionais que já realizaram as provas do SQL Server 2012. Então não percam essa chance.

[]s 
Luciano Caixeta Moreira - {Luti} 
luciano.moreira@srnimbus.com.br 
www.twitter.com/luticm 
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

sexta-feira, 23 de março de 2012

Provas betas do SQL Server 2012 e o bom profissional

Para quem não viu, saiu ontem no blog do born to learn os promocodes para as provas betas de SQL Server 2012, se você quer correr estudar um pouco e tentar se certificar antes da maioria, é uma excelente oportunidade.

http://borntolearn.mslearn.net/btl/b/weblog/archive/2012/03/22/register-for-sql-server-2012-beta-exams.aspx

A prova é mais longa e o resultado não sai na hora, só depois de aproximadamente 3 meses, quando sai a prova definitiva. Outro ponto positivo é o custo, zero, então é uma boa economia se comparado aos US$ 100,00.

Eu me registrei usando outro promocode que não os informados, se tiver problema com os informados, leia o comentário da Krista.
Para quem estiver procurando a prova, as provas quando beta começam por 71-xxx. Somente quando são definitivas receberão o 70-xxx.


O BOM PROFISSIONAL

Sem entrar na discussão da validade das certificações e se um profissional certificado é bom ou não.

Acredito que o profissional antenado, que corre atrás das novidades e estuda bastante, já têm um diferencial em relação ao mercado. E nem sempre é no conhecimento técnico, mas sim no perfil da pessoa.

Recentemente recebi alguns e-mails de pessoas me agradecendo por ajudá-las, e é recorrente eu ser informado de profissionais que melhoraram sua colocação depois de um treinamento nosso.

As duas boas notícias dessa semana foram: um conseguiu uma nova consultoria (já passou em muitas provas de SQL Server) e a bela frase de hoje foi... "O segundo é agradecê-lo, graças ao curso eu consegui uma nova posição no mercado, na Microsoft como XXX trabalhando junto com os XXXs.  Não teria conseguido sem vc e o curso."

Em primeiro lugar, gostaria de ressaltar que esses profissionais com certeza chegariam onde estão hoje, de uma forma ou outra. São pessoas estudiosas e que se dedicam para serem melhores profissionais, e são eles que no futuro devem ter os maiores salários e satisfação profissional.

Mas e o Luti e a Nimbus nesse meio?! Eu acredito que podemos ser apenas aceleradores e guias nesse caminho. Aprendi da maneira difícil, tentando incentivar alunos sem interesse, que um indivíduo que não quer se dedicar e procura atalhos falsos, com a ajuda do problemático "jeitinho brasileiro", nunca vão chegar a ser um bom profissional, mesmo que eu mostre para ele todos os caminhos possíveis e as lindas recompensas no fim da jornada.

No fim são esses pequenos reconhecimento do esforço, que investimos na qualidade da empresa e na comunidade técnica, que não nos faz desistir e nem jogar tudo para o alto quando uma avalanche de problemas e dúvidas parecem te soterrar.

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