Impressões Exame 70-475 (Design and Implement Big Data Analytics Solutions)

Olá Pessoal,

Hoje (22/01/16) realizei o exame 70-475 da Microsoft (Design and Implement Big Data Analytics Solutions), o exame ainda é Beta, ou seja, não sei se fui bem sucedido ainda!! Esse exame não faz parte ainda de nenhuma trilha (MCSA, MCSE, etc.), acredito que isso vá mudar no seu lançamento.

OBS: Todos que realizam um exame de certificação Microsoft precisam aceitar um termo de NDA (Non-Disclosure Agreement), portanto, não esperem que eu coloque as perguntas aqui, serão apenas impressões do exame que realizei.

Segundo o site da prova 70-475, o exame é composto de 4 áreas:

  • Design big data batch processing and interactive solutions (20-25%)

Ingest data for batch and interactive processing, design and provision compute clusters, design for data security, design for batch processing, design interactive queries for big data.

  • Design big data real-time processing solutions (25-30%)

Ingest data for real-time processing, design and provision compute resources, design for lambda architecture, design for real-time processing.

  • Design machine-learning solutions (25-30%)

Create and manage experiments, determine when to pre-process or train inside Machine Learning Studio, select input/output types, apply custom processing steps with R and Python, publish web services.

  • Operationalize end-to-end cloud analytics solutions (25-30%)

Create a data factory, orchestrate data processing activities in a data-driven workflow, monitor and manage the data factory, move, transform, and analyze data.

E realmente o exame é composto por tudo isso! Na minha prova foram 43 questões de múltipla escolha e mais 3 estudos de caso com 6 questões cada, bem parecida com as provas para o MCSE.

Durante o ano passado e o começo desse ano eu tive estudando bastante as soluções Azure HDInsight e Azure Machine Learning, isso me ajudou a responder boa parte das perguntas, StreamInsight e Apache Spark eu estudei um pouco menos e tive algumas dificuldades para responder, ADF (Azure Data Factory) eu não tinha estudado nada e acho que foi aí que tive problemas!!

O que eu quero dizer é que essa certificação prevê que a pessoa tenha um profundo conhecimento de todas as ferramentas de Big Data da Microsoft, as questões não se limitam em demonstrar que a pessoa conhece todas as soluções de Big Data e pode escolher a melhor solução a se implantar, e sim que saiba implementar qualquer solução desse tipo. Isso eu achei um pouco exagerado no exame.

O exame cobra que o profissional consiga desenhar e implementar uma solução de Big Data end-to-end utilizando os recursos da Microsoft, não somente o processamento do dado no Hadoop por exemplo, e sim como fazer com que o dado chegue até a nuvem, como é processado e como tratar esse resultado.

Um ponto que não gostei foi do exame cobrar questões relativas a linguagens que não necessariamente são utilizadas, por exemplo, com o Machine Learning você pode utilizar as linguagens R e/ou Python, o HDInsight Spark pode-se utilizar as linguagens Java, Scala, etc. Se você estudou Machine Learning com R, você não precisa de Python, e vice-versa, então não acho legal fazer questões baseadas em uma linguagem específica e sim questões mais genéricas baseada na tecnologia que utiliza uma ou outra linguagem.

Uma coisa que achei boa é que uma grande parte das questões relacionadas às tecnologias que tenho estudado (HDInsight e Machine Learning) eu consegui responder, muitas vezes lembrando de Lab’s previamente realizados, então acredito que ela está refletindo bem a realidade com questões justas.

Muitas questões envolvendo o uso do Powershell para o uso dessas tecnologias, não esqueçam dele!!

Então a minha dica principal é estudar e fazer labs das tecnologias abaixo:

  • Azure HDInsight (Hadoop, HBASE, Storm e Spark)
  • Azure Machine Learning
  • Azure StreamInsight
  • Azure Data Factory
  • Azure Event Hub
  • Azure IOT Hub
  • Azure Blob Storage

Alguns cursos, disponíveis gratuitamente (paga só se precisar de certificado) no site edX.org que fiz e recomendo:

Esse eu não fiz ainda, começa em 31/03/2016, mas já estou inscrito!

Como demanda pra mim ficou estudar melhor o Azure Data Factory, Event Hub, StreamInsight e Spark!!

Bons estudos!

Anúncios

Webcast Virtual PASS PT – HDInsight!? Hadoop?! Hive?!

Olá pessoal!

No dia 03/12 deste ano tive a honra de participar do Webcast do Virtual PASS PT apresentando a palestra “HDInsight!? Hadoop?! Hive?! Uma introdução do mundo Big Data para DBA’s“, que também foi apresentada no SQL Saturday 424 em São Paulo.

O objetivo do Webcast foi dar uma introdução ao ambiente do HDInsight e sua sopa de letrinhas (hadoop, hive, pig, sqoop, etc…). Atualmente existe um hype muito grande em cima do assunto “Big Data“, muitas empresas querem saber como entrar nesse mundo e para quem pedem informações? Exato!! Para o DBA!!

Abaixo o link da apresentação e a gravação do vídeo. Não vou postar os scripts agora pois preciso atualizar eles para a nova interface do portal do Azure, nos próximos posts eu atualizo os lab’s.

Link da Apresentação

Link do Vídeo

Em tempo, muito obrigado ao @SqlFreccia e ao Virtual PASS pela oportunidade!!

Encriptando a conexão do SQL Server usando SSL

Olá,

Uma boa prática para a segurança de nosso banco de dados é utilizar certificados para criptografar os dados trafegados, protegendo de algum espião com um “sniffer” de rede.

Em uma instalação padrão do MS SQL Server é relativamente simples de capturar o conteúdo dos pacotes, como mostram as figuras abaixo:

Aqui eu fiz uma consulta qualquer no SQL, executei a query “select * from sys.databases” para mostrar todas as bases de dados instaladas na instância.

E, utilizando o Microsoft Network Monitor, obtive o conteúdo da query através da análise do pacote trafegado na rede:

E também do resultado da query:

Para resolver isso vamos habilitar a encriptação do protocolo utilizado no SQL Server, o processo é bem simples, importar o certificado no servidor e configurar o serviço do SQL Server, para os nossos testes vamos criar um certificado auto-assinado utilizando o utilitário makecert da microsoft, disponível no SDK do .Net Framework ou no Visual Studio.

makecert -r -pe -n “CN=brunosql1” -b 01/01/2000 -e 01/01/2050 -eku 1.3.6.5.7.3.1 -ss my -sr localMachine -sky exchange -sp “Microsoft RSA SChannel Cryptographic Provider” -sy 12

Para maiores informações sobre o makecert e sua sintaxe consulte http://msdn.microsoft.com/en-us/library/windows/desktop/aa386968(v=vs.85).aspx

Criado o certificado vá em Iniciar > Executar e digite mmc e no aplicativo adicione o snap-in Certificates > Local Computer e verifique na pasta Personal\Certificates se o certificado foi criado lá:

Agora copie o certificado criado para a pasta Trusted Root Certification Authorities (utilizando ctrl+c e ctrl+v mesmo!)

Feita a configuração do certificado, o próximo passo é configurar o SQL Server para utilizar esse certificado, para isso vamos abrir o SQL Server Configuration Manager e clicar com o botão direito na opção “Protocols for MSSQLSERVER” (aqui na minha configuração o MSSQLSERVER é o nome da instância default, podendo variar conforme configuração) e selecionar Properties:

Na guia Flags altere a opção Force Encription para YES, assim todas as conexões deverão obrigatoriamente ser encriptadas.

E na guia Certificate selecione o certificado que foi importado anteriormente.

Após essa configuração será necessário reiniciar o serviço do SQL Server.

Para testarmos vamos executar a mesma query utilizada anteriormente (select * from sys.databases) e vamos analisar os pacotes com o Network Monitor:

Podemos verificar que o protocolo mudou de TDS para TLS e agora não é mais possível visualizar o conteúdo trafegado no SQL Server.

Exame 70-461: Create Database Objects – Parte 1

Olá!

Começarei a abordar o primeiro tópico do Exame 70-461, o Create Database Objects, que corresponde a 24% do exame, usarei a mesma divisão do site Microsoft Learning, que divide o tema em 5 tópicos, vamos ao primeiro:

Create and alter tables using T-SQL syntax (simple statements).
May include but not limited to: create tables without using the built in tools; ALTER; DROP; ALTER COLUMN; CREATE

Os objetivos desse tópico são os comandos ALTER, DROP, ALTER COLUMN e CREATE do SQL Server, podemos usar uma base de dados qualquer para executar os comandos abaixo, eu criei um banco de dados DbBlog só por conveniência, poderia usar qualquer outro.

Para criar uma tabela num database utilizaremos o comando CREATE como no exemplo abaixo:

CREATE TABLE Clientes
(
CodCliente int,
Nome varchar(50),
Sobrenome varchar(50)
)

A sintaxe do comando é simples, “Clientes” é o nome da tabela, “CodCliente”, “Nome” e “Sobrenome” são as colunas da tabela e “int” e “varchar” são os tipos de dados de cada coluna, as especificações de tipos de dados (datatypes) são abordados no exame 70-462 (não lembro de ter caído no meu exame, mas tava no training kit), portanto, não entrarei em maiores detalhes sobre eles agora.

Depois de criada a tabela vamos inserir uma linha na tabela com o comando INSERT:

INSERT INTO Clientes (Nome) values ('a')

Gerando o resultado que pode ser conferido com o comando SELECT:

SELECT * FROM Clientes
CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- -------------
NULL        a                                                  NULL

Como no comando INSERT eu preenchi somente o campo “Nome” com o valor ‘a’ e não havia nenhuma outra restrição quanto a possibilidade de inserção de valores nulos, os outros campos foram inseridos com valores NULL. Executando mais 3 vezes o mesmo INSERT o resultado será:

CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- -----------
NULL        a                                                  NULL
NULL        a                                                  NULL
NULL        a                                                  NULL
NULL        a                                                  NULL

(4 row(s) affected)

Ou seja, criamos diversas linhas com valores repetidos, o que dificulta a organização da tabela.
Podemos especificar quais linhas podem conter valores NULL e quais devem ser obrigatoriamente preenchidas, para isso vou apagar a tabela e criar novamente com as restrições:

OBS: Já vou aproveitar e falar aqui sobre o comando DROP, não tem muito o que falar sobre ele, serve para apagar uma tabela de um database, basta selecionar o banco e executar um dos comandos abaixo:

DROP TABLE Clientes --selecionando só a tabela
DROP TABLE dbo.Clientes --selecionando a tabela e o schema (para quem usa mais de um schema)
DROP TABLE DbBlog.dbo.Clientes --essa é a forma mais segura de executar, evita um DROP acidental ao selecionar um database errado.
CREATE TABLE Clientes
(
CodCliente int NULL,
Nome varchar(50) NOT NULL,
Sobrenome varchar(50) NOT NULL
)

Agora somente a coluna CodCliente pode possuir valores NULL, tentando fazer o mesmo INSERT do exemplo anterior, onde o campo “Sobrenome” é nulo, é retornado uma mensagem de erro.

Msg 515, Level 16, State 2, Line 2
Cannot insert the value NULL into column ‘Sobrenome’, table ‘DbBlog.dbo.Clientes’; column does not allow nulls. INSERT fails.
The statement has been terminated.

Então vamos inserir também o campo Sobrenome e verificar como fica a tabela:

INSERT INTO Clientes (Nome, Sobrenome) values ('a','b')
CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- ------------
NULL        a                                                  b

Mas ainda temos o mesmo problema anterior ao executar o INSERT várias vezes, várias linhas idênticas:

CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- -------------
NULL        a                                                  b
NULL        a                                                  b
NULL        a                                                  b

(3 row(s) affected)

Podemos utilizar o parâmetro IDENTITY para campo CodCliente, criando um valor numérico que será adicionado automaticamente na coluna, criando um registro “único” (já explico o porquê das aspas).

CREATE TABLE Clientes
(
CodCliente int NOT NULL IDENTITY(1,1),
Nome varchar(50) NOT NULL,
Sobrenome varchar(50) NOT NULL
)

Fazendo o mesmo INSERT anterior algumas vezes temos o resultado:

CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- -------------
1           a                                                  b
2           a                                                  b
3           a                                                  b
4           a                                                  b
5           a                                                  b

(5 row(s) affected)

OBS: Os valores passados no parâmetro IDENTITY(x,y) são: x=valor inicial e y=incremento a cada insert, caso fosse criado com o parâmetro IDENTITY(5,3) as 5 linhas do exemplo anterior na coluna CodCliente teriam os valores: 5, 8, 11, 14 e 17.

Aparentemente temos registros únicos, eles nunca serão repetidos, já que a coluna CodCliente é preenchida automaticamente, mas podemos desligar isso e adicionar registros repetidos ativando o parâmetro IDENTITY_INSERT, que permite inserir dados na coluna marcada como IDENTITY:

SET IDENTITY_INSERT Clientes ON
INSERT INTO Clientes (CodCliente, Nome, Sobrenome) values (1,'a','b')
CodCliente  Nome                                               Sobrenome
----------- -------------------------------------------------- -----------
1           a                                                  b
2           a                                                  b
3           a                                                  b
4           a                                                  b
5           a                                                  b
1           a                                                  b

(6 row(s) affected)

Para garantir mesmo que não haverão dados repetidos vamos criar uma PRIMARY KEY para o campo CodCliente da tabela:

CREATE TABLE Clientes
(
CodCliente int NOT NULL IDENTITY(1,1),
Nome varchar(50) NOT NULL,
Sobrenome varchar(50) NOT NULL
PRIMARY KEY(CodCliente)

Agora ao tentar inserir um registro já existente é mostrada a mensagem de erro:

Msg 2627, Level 14, State 1, Line 2

Violation of PRIMARY KEY constraint ‘PK__Clientes__DF8324D7AFE11E25’. Cannot insert duplicate key in object ‘dbo.Clientes’. The duplicate key value is (1).
The statement has been terminated.

O SQL Server criou a Primary Key com esse nome maluco da mensagem de erro (PK__Clientes__DF8324D7AFE11E25), podemos criar nomes personalizados para as ela, no caso criei com o nome PK_CODCLIENTE que facilita bastante a manutenção no futuro:

CREATE TABLE Clientes
(
CodCliente int NOT NULL IDENTITY(1,1),
Nome varchar(50) NOT NULL,
Sobrenome varchar(50) NOT NULL
)
GO
ALTER TABLE Clientes ADD CONSTRAINT [PK_CODCLIENTE]
PRIMARY KEY (CodCliente ASC)

Ao criar uma Primary Key (PK) normalmente é criado um clustered index para essa coluna. O “normalmente” eu coloquei porque há a possibilidade de criar PK’s usando índices non-clustered.

Agora vamos falar um pouco sobre o parâmetro DEFAULT, vamos criar a tabela Clientes com um campo DataCriacao do tipo datetime:

CREATE TABLE Clientes
(
CodCliente int NOT NULL IDENTITY(1,1),
Nome varchar(50) NOT NULL,
Sobrenome varchar(50) NOT NULL,
DataCriacao datetime
)

E fazendo um INSERT só com os campos Nome e Sobrenome temos o resultado abaixo:

CodCliente  Nome                 Sobrenome            DataCriacao
----------- -------------------- -------------------- -----------------------
1           a                    b                    NULL

(1 row(s) affected)

Podemos notar que o campo DataCriacao foi preenchido com NULL, já que não foi passado nenhum valor para a coluna no INSERT e esta permitia valores nulos.

Mas eu quero que esse campo seja preenchido automaticamente com a data da inserção do registro na tabela, para isso posso criar um valor DEFAULT para a coluna DataCriacao que será preenchido com a data atual (comando GETDATE) caso não seja passado valor para esse campo no insert.

CREATE TABLE Clientes
(
CodCliente int NOT NULL IDENTITY(1,1),
Nome varchar(20) NOT NULL,
Sobrenome varchar(20) NOT NULL,
DataCriacao datetime DEFAULT getdate()
)

Agora ao fazer o INSERT temos:

CodCliente  Nome                 Sobrenome            DataCriacao
----------- -------------------- -------------------- -----------------------
1           a                    b                    2012-09-10 19:14:57.413

(1 row(s) affected)

Nos exemplos anteriores, para alterar dados estruturais da tabela, como tipo de dados, inserção e remoção de colunas nós apagávamos a tabela e criávamos ela novamente, agora vamos fazer isso sem usar o DROP TABLE, com a mesma tabela criada anteriormente eu inseri um registro e ela está assim:

CodCliente  Nome                 Sobrenome            DataCriacao
----------- -------------------- -------------------- -----------------------
2           Bruno                Feldman              2012-09-13 19:09:30.337

(1 row(s) affected)

Agora vamos adicionar a coluna CEP na tabela:

ALTER TABLE Clientes
ADD CEP numeric(8)

E a coluna é criada na tabela, com valores NULL preenchidos nas colunas já existentes:

CodCliente  Nome                 Sobrenome            DataCriacao             CEP
----------- -------------------- -------------------- ----------------------- ---------------------------------------
2           Bruno                Feldman              2012-09-13 19:09:30.337 NULL

(1 row(s) affected)

Para remover alguma coluna, basta usar o DROP COLUMN no comando abaixo:

ALTER TABLE Clientes
DROP COLUMN CEP

OBS IMPORTANTE: Repare que para adicionar uma coluna usamos o comando ADD, e para remover usamos DROP COLUMN, veja que não usei ADD COLUMN e sim ADD, sem o COLUMN, mas ele é necessário para o DROP.

Para alterar um tipo de dado de uma tabela, usamos o ALTER COLUMN, no exemplo abaixo alterei a coluna CEP de numeric para int:

ALTER TABLE Clientes
ALTER COLUMN CEP int

Ou para mudar a restrição para aceitar ou não valores nulos:

ALTER TABLE Clientes
ALTER COLUMN DataCriacao datetime not null

Uma última observação, se tentarmos adicionar uma coluna com o parâmetro “not null” para uma tabela que já possui registros o SQL não vai permitir, pois ele adiciona a coluna com valores null para as linhas já existentes. O que podemos fazer é usar o ADD COLUMN com um valor DEFAULT para a coluna, que será preenchido com esse valor, ou criar a coluna permitindo valores nulos, depois fazer um UPDATE preenchendo valores nessa coluna e depois alterar para not null novamente.

E assim terminamos a primeira quinta parte do primeiro objetivo do exame 70-461, nos vemos no próximo post! Até lá!!

Skills para o Exame 70-461

Olá!
Abaixo uma relação do site Microsoft Learning com os assuntos que são tratados no exame 70-461 – Querying Microsoft SQL Server 2012.
Pelos conteúdos abordados creio que uma pessoa que tem alguma experiência em SQL Server tem condições de responder questões sobre a maioria dos assuntos, mas irei abordá-los nos próximos posts.
Até mais!
Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.The higher the percentage, the more questions you are likely to see on that content area on the exam.

The information after “This objective may include but is not limited to” is intended to further define or scope the objective by describing the types of skills and topics that may be tested for the objective. However, it is not an exhaustive list of skills and topics that could be included on the exam for a given skill area. You may be tested on other skills and topics related to the objective that are not explicitly listed here.

Create Database Objects (24%)

  • Create and alter tables using T-SQL syntax (simple statements).
    • May include but not limited to: create tables without using the built in tools; ALTER; DROP; ALTER COLUMN; CREATE
  • Create and alter views (simple statements).
    • May include but not limited to: create indexed views; create views without using the built in tools; CREATE, ALTER, DROP
  • Design views.
    • May include but not limited to: ensure code non regression by keeping consistent signature for procedure, views and function (interfaces); security implications
  • Create and modify constraints (simple statements).
    • May include but not limited to: create constraints on tables; define constraints; unique constraints; default constraints; primary and foreign key constraints
  • Create and alter DML triggers.
    • May include but not limited to: inserted and deleted tables; nested triggers; types of triggers; update functions; handle multiple rows in a session; performance implications of triggers

Work with Data (27%)

  • Query data by using SELECT statements.
    • May include but not limited to: use the ranking function to select top(X) rows for multiple categories in a single query; write and perform queries efficiently using the new (SQL 2005/8->) code items such as synonyms, and joins (except, intersect); implement logic which uses dynamic SQL and system metadata; write efficient, technically complex SQL queries, including all types of joins versus the use of derived tables; determine what code may or may not execute based on the tables provided; given a table with constraints, determine which statement set would load a table; use and understand different data access technologies; case versus isnull versus coalesce
  • Implement sub-queries. 
    • May include but not limited to: identify problematic elements in query plans; pivot and unpivot; apply operator; cte statement; with statement
  • Implement data types.
    • May include but not limited to: use appropriate data; understand the uses and limitations of each data type; impact of GUID (newid, newsequentialid) on database performance,when to use what data type for columns
  • Implement aggregate queries.
    • May include but not limited to: new analytic functions; grouping sets; spatial aggregates; apply ranking functions
  • Query and manage XML data.
    • May include but not limited to: understand xml datatypes and their schemas and interop w/, limitations & restrictions; implement XML schemas and handling of XML data; XML data: how to handle it in SQL Server and when and when not to use it, including XML namespaces; import and export xml; xml indexing

Modify Data (24%)

  • Create and alter stored procedures (simple statements).
    • May include but not limited to: write a stored procedure to meet a given set of requirements; branching logic; create stored procedures and other programmatic objects; techniques for developing stored procedures; different types of storeproc result; create stored procedure for data access layer; program stored procedures, triggers, functions with T-SQL
  • Modify data by using INSERT, UPDATE, and DELETE statements.
    • May include but not limited to: given a set of code with defaults, constraints, and triggers, determine the output of a set of DDL; know which SQL statements are best to solve common requirements; use output statement
  • Combine datasets.
    • May include but not limited to: difference between UNION and UNION all; case versus isnull versus coalesce; modify data by using MERGE statements
  • Work with functions.
    • May include but not limited to: understand deterministic, non-deterministic functions; scalar and table values; apply built-in scalar functions; create and alter user-defined functions (UDFs)

Troubleshoot & Optimize (25%)

  • Optimize queries.
    • May include but not limited to: understand statistics; read query plans; plan guides; DMVs; hints; statistics IO; dynamic vs. parameterized queries; describe the different join types (HASH, MERGE, LOOP) and describe the scenarios they would be used
  • Manage transactions.
    • May include but not limited to: mark a transaction; understand begin tran, commit, and rollback; implicit vs explicit transactions; isolation levels; scope and type of locks; trancount
  • Evaluate the use of row-based operations vs. set-based operations.   
    • May include but not limited to: when to use cursors; impact of scalar UDFs; combine multiple DML operations
  • Implement error handling.
    • May include but not limited to: implement try/catch/throw; use set based rather than row based logic; transaction management

Exame 70-462 – Passei!!

Olá!


Depois de algum tempo sem postar venho avisar que passei no exame 70-462: Administering a Microsoft SQL Server 2012 Database!!

Esse exame é o segundo dos três pré-requisitos para a certificação MCSA: SQL Server 2012 como mostra a figura abaixo disponível no site Microsoft Learning (o “OK” da figura é meu):


Para esse exame eu estudei a maior parte dos conteúdos usando o Training Kit do SQL 2012, fazendo um lab usando o VMWare Player e as versões Evaluation do Windows Server 2008 R2 e do SQL Server 2012.

A prova em si não é nada impossível, mas também está longe de ser uma prova fácil, devo a minha aprovação pela experiência anterior com o SQL Server 2008 no trabalho, mas uma boa parte também pela execução dos laboratórios do Training Kit, no meu trabalho eu nunca havia feito um Log Shipping ou um Always On (já que o recurso é exclusivo do SQL2012) e os LAB’s dão uma boa visão dos recursos e como implementar.

Uma dica importante é saber TODOS os conteúdos que serão cobrados, em especial a parte de segurança e os recursos de replicação de dados como log shipping, database mirroring, always on, etc. Foi o que mais caiu.

Achei que a prova foi um pouco “sacana” ao fazer um grupo de 5 questões consecutivas sobre um mesmo tema (no meu caso foi segurança) mudando pequenas coisas em cada questão e com muitas alternativas de resposta. Por outro lado isso garantiu à Microsoft que eu realmente sabia o conteúdo e não decorei as questões de um “BrainDump”.

Falando em BrainDump, o Exam Prep que está incluso no Training Kit é muito mais fácil que o exame, ele mostra como são as questões, mas em um nível de dificuldade menor. No Training Kit, nas questões com mais de uma resposta certa ele diz quantas alternativas estão certas, isso não acontece no exame.

Terminada essa fase é hora de estudar para o Exame 70-461 Querying Microsoft SQL 2012, esse ainda não possui Training Kit, previsto para novembro de 2012, irei estudar através dos Skills que são cobrados no exame.

Lembrando que a promoção Second Shot da Microsoft ainda está disponível, nela é possível obter gratuitamente um voucher que garante uma nova chance para refazer a prova caso não haja aprovação.

Conforme eu for estudando para o exame 70-461 eu vou postando os conteúdos no blog para quem quiser acompanhar.

Até mais!!

Mudança de rumos


UPDATE ESTUDOS
SET FOCO = ’70-462′
WHERE FOCO = ’70-432′


Hoje eu estava pesquisando como é feito o agendamento das provas de certificação no site da Prometric e descobri que já está disponível a prova para o Exame 70-462 “Administering Microsoft SQL Server 2012 Databases” e pensei com meus botões: eu poderia fazer a prova 70-432 do SQL 2008 e depois fazer o exame de upgrade para o 2012, ou estudar um pouco mais e fazer de uma vez a 70-462 e me preocupo com assuntos mais avançados de SQL Server, então decidi por fazer a 70-462 e seguir o caminho abaixo para ter o título de MCSA SQL Server 2012:
  • Fazer o exame 70-462: Esse vai ser o foco principal deste blog a partir de agora, vou evitar passar capítulo por capítulo como estava fazendo antes, vou escolher os temas mais importantes e abordá-los de maneira mais detalhada.
  • Exame 70-461 Querying Microsoft SQL 2012: Pelo que eu andei lendo esse exame é mais fácil que o anterior, mas como meus estudos anteriores refletem ao 70-462, vou primeiro passar nele e depois partir para o 461.
  • E finalmente o exame 70-463 Implementing Data Warehouses with Microsoft SQL Server 2012, que junto com os dois anteriores, formam a carreira de MCSA (Microsoft Certified Solutions Associate) SQL Server 2012.
Depois disso vem o MCSE (Microsoft Certified Solutions Expert), mas vamos com um passo de cada vez…

Estou atualizando o meu ambiente de testes para a versão 2012 do SQL Server, que possui versão trial disponível no próprio site da Microsoft.

Também mudei a bibliografia para o Training Kit do SQL Server 2012.

Por enquanto era isso, nos próximos posts vamos começar a estudar a versão 2012 do SQL Server!