Como tirei a certificação MCSE – Data Management and Analytics

Olá pessoal tudo certo?

No post de hoje eu vou comentar um pouco sobre provas de certificação, especialmente sobre as provas 70-764, 70-765 e 70-465.

Quem me acompanha nas redes sociais (LinkedIn / Twitter / Facebook) viu que nas últimas semanas eu recebi o título de MCSE (Microsoft Certified Solutions Expert – Data Management and Analytics) após passar em três provas.

Nesse post você não vai encontrar perguntas que caíram na prova, até porque as provas mudam a todo tempo, mas vou comentar sobre os assuntos que caíram quando eu fiz e quais materiais utilizei para estudar e me preparar para esse desafio!

Mas Tiago o que te motivou a tirar as certificações?

Para o mercado de trabalho, certificação ainda conta e muito, mas no começo do ano em uma de nossas reuniões de equipe o Fabricio Lima nos motivou a tirar certificações, inclusive com um grande benefício de reembolsar o valor da prova em caso de aprovação (que não é muito barato $$$). Ter certificação não é sinal que você saiba tudo, mas é uma comprovação que você estudou, ou, pelo menos deveria ter estudado os assuntos da prova.

Então todos os colaboradores do #TeamFabricioLima aceitaram o desafio de fazer as provas de certificação e obter até o final do ano o título de MCSA (Microsoft Certified Solutions Associate). Contudo, resolvi dobrar a meta e entreguei o MCSE, assim como o Luiz Vitor(Blog).

Em primeiro lugar, precisamos conhecer as trilhas que podemos seguir para tirar as certificações SQL Server. Então vamos lá!

Entendendo as Trilhas de Certificação:

Quando você é aprovado nas provas 70-764 e 70-765 (trilha DBA) você ganha o título de MSCA (Microsoft Certified Solutions Associate). Para você atingir o título de MCSE (Microsoft Certified Solutions Expert – Data Management and Analytics), você tem dois caminhos a seguir:

  1. Você faz uma terceira prova “coringa” que vai estar no quadro abaixo (que foi o meu caso).
  2. Você pode tirar outro MCSA das provas 70-761 e 70-762 (trilha DEV) por exemplo, porque quando você possui dois MCSA, você automaticamente se torna MCSE (que foi o caso do Luiz Vitor).

No meu caso eu fui aprovado nos exames 764 e 765 e virei MCSA. Depois fiz a prova coringa 465, essa prova faz parte da família de exames referente ao SQL Server 2012 e SQL Server 2014. Com isso, me tornei MCSE!

OBS: Essas regras podem ser alteradas com o passar do tempo, então consulte sempre o Site Oficial da Microsoft:

https://www.microsoft.com/pt-br/learning/certification-overview.aspx

Prova 70-764 – Administering a SQL Database Infrastructure (link)

Está foi a prova mais tranquila na minha opinião, pois caiu muitas questões que envolvem o dia a dia de um DBA SQL Server. Eu fiz essa prova de forma gratuita quando ela saiu como BETA.

Ela cobre os assuntos de administração de uma instância de banco de dados e infraestrutura.

 Os skills medidos na prova:

* Configuração de acessos aos dados e auditoria (20-25%).

– Configurar criptografia:

                – Configuração de criptografia, Always Encrypted, Criptografia de backup, configuração de TDE e tratamento de erros de criptografia.

– Configuração de acessos e permissões:

                – Gerenciamento de permissões de objetos, criar e gerencia usuários, criar e gerencia funções personalizadas, configuração de usuários no Azure, configuração do dynamic data masking e row-level security (rls).

– Configuração de Auditoria:

                – Configurar uma auditoria no SQL Server, consultar o log de auditoria do SQL Server, gerenciar uma auditoria do SQL Server, configurar a auditoria do banco de dados SQL do Azure, analisar os logs de auditoria e relatórios do banco de dados SQL do Azure.

* Gerenciamento de backup e restore (25-25%)

– Desenvolver estratégias de backup:

– Fazer backup de databases grandes (VLDB), configurar o alerta para falha nos backups, fazer backup de bancos de dados para o Azure, gerenciar backups de logs de transações, configurar modelos de recuperação do banco de dados, configurar a automação de backup.

– Restaurar bancos de dados:

– Executar o restore em etapas, executar a restore de uma página, executar o restore point-in-time, restore de file group, desenvolver um plano para automatizar e testar restaurações.

Gerenciar a integridade do banco de dados:

– Implementar verificações de consistência do banco de dados, identificar corrupções no banco de dados, recuperar-se de corrupções no banco de dados.

* Gerenciar e monitar instancia do SQL Server (35-40%)

– Monitorar atividade do banco de dados:

– Monitorar as sessões atuais, identificar sessões que causam atividades de bloqueio, identificar sessões que consomem recursos tempdb, configurar um data collector.

– Monitorar consultas:

– Gerenciar a Query Store, configurar extended events e traces, identificar planos de execução problemáticos, solucionar problemas de integridade do servidor usando extended events.

– Gerenciar índices:

– Identificar e reparar a fragmentação do índice, identificar e criar índices ausentes, identificar e dropar índices não utilizados, gerenciar índices columnstore existentes.

– Gerenciar estatísticas:

– Identificar e corrigir estatísticas desatualizadas, implementar atualização de estatísticas automaticamente, implementar estatísticas para tabelas grandes.

– Monitorar instâncias do SQL Server:

– Criar e gerenciar operadores, criar e gerenciar alertas do SQL Agent, definir ações de alerta personalizadas, definir ações de falha, configurar o DatabaseMail, configurar o gerenciamento baseado em políticas, identificar o espaço disponível em volumes de dados, identificar a causa da degradação do desempenho.

* Gerenciar e monitorar instancia do SQL Server (20-25%)

– Configuração de log shipping:

  • Configuração de log shipping, monitoramento log shipping.

– Configuração AlwaysOn Availability Groups:

  • Configuração de Windows Cluster, criação de um availability group (AG), configuração de rotas read-only, gerenciamento de failover, criação de grupos de disponibilidades distribuídos.

– Configuração failover cluster instances:

  • Gerenciamento de discos compartilhados, configuração de cluster shared volumes (CSV).

Comentários sobre a prova:

Como eu fiz a prova quando saiu a versão BETA, lembro que caíram muitas questões envolvendo gerenciamento de backup e restore, recuperação em caso de desastres, recuperação em caso de corrupção, nível de permissões, como implementar Always Encrypted, TDE e questões relacionadas a tuning, indexação e columnstore.

Na prova que eu fiz não tinha questões sobre log shipping, mas isso não quer dizer que não vai cair em outras versões da prova e tinha poucas questões sobre FCI e gerenciamento de auditoria.

Material de estudos:

Configure data access and auditing

  • Configure encryption 
  • Configure data access and permissions
  • Configure auditing 

Manage backup and restore of databases 

  • Develop a backup strategy 
  • Restore databases 
  • Manage database integrity 

Manage and monitor SQL Server instances 

  • Monitor queries 
  • Manage indexes 
  • Manage statistics 
  • Monitor SQL Server instances 
  • Manage high availability and disaster recovery
  • Implement failover cluster instances 

No blog do Dirceu Resende tem um arquivo para download do material preparatório da certificação.

Livros:

Exam Ref 70-764 Administering a SQL Database Infrastructure (English Edition)

Prova 70-765 – Provisioning SQL Databases (link)

Essa prova é bem mais difícil e complicada do que a 70-764, pois ela tem muitos assuntos que são basicamente decoreba, onde você tem que decorar configurações do SQL Database, VM do Azure e Discos, além das questões de administração relacionado ao Azure.

Os skills medidos na prova:

* Implementar o SQL no Azure (40-45%)

– Implantar um SQL Database no Azure

– Escolher um nível de serviço, criar bancos de dados e servidores, criar uma conta sysadmin, configurar elastic pools.

– Planejar a instalação do SQL Server

– Planejar uma implantação de IaaS ou on-premises, selecionar o tamanho adequado para uma máquina virtual, planejar pools de armazenamento com base nos requisitos de desempenho, avaliar as melhores práticas para instalação, projetar um layout de armazenamento de uma máquina virtual do SQL Server.

– Implantar instâncias do SQL Server

– Implantar uma instância do SQL Server em IaaS ou on-premises, instalar manualmente o SQL Server em uma máquina virtual do Azure, dimensionar uma máquina virtual do Azure para hospedar uma instância do SQL Server, automatizar a implantação de bancos de dados do SQL Server, implantar o SQL Server usando templates disponíveis no Azure.

– Implantar bases de dados SQL Server nas máquinas virtuais do Azure

– Migrar uma instancia on-premises do SQL Server para uma máquina virtual do Azure, gerar dados de parâmetros de comparação para as necessidades de desempenho, executar o ajuste de desempenho no Azure IaaS, oferecer suporte a conjuntos de disponibilidade no Azure.

 * Gerenciar bancos de dados e instâncias (30-35%)

– Configurar o acesso seguro aos bancos de dados SQL do Microsoft Azure

– Configuração de regras no firewall, Always Encrypted for Azure SQL Database, configuraração de cell-level encryption, configuraração do dynamic data masking, configuraração do transparent data encryption (TDE).

 – Configurar as definições de desempenho do SQL Server

– Configurar as definições de desempenho do banco de dados, configurar memória máxima do servidor, configurar o escopo do banco de dados, configurar operadores e alertas.

 – Gerenciar instâncias do SQL Server

– Criar bancos de dados, gerenciar arquivos e filegroups, gerenciamento de arquivos do banco de dados de sistema, configuração e boas práticas do Tempdb.

* Gerenciar SQL Storage (30-35%)

Manage SQL Storage

– Gerenciamento de compartilhamento de arquivos utilizando o protocolo SMB, gerenciamento do stretch databases, configuração do Azure storage, alterar service tiers, revisar os wait statistics, gerenciamento de pools de armazenamento, recuperação a partir de uma falha no sistema de storage.

Executar manutenção no banco de dados

– Monitoramento através de DMVs, manutenção de índices, automatização de tarefas de manutenção, update statistics, verificação de integridade de databases, recuperar uma database de uma corrupção.

Comentários sobre a prova:

Como falei na introdução dessa prova, ela exige bastante decoreba das camadas de serviço do Azure, como por exemplo “No Tier S0 do SQL Database você pode usar até 10 DTU’s, 250 GB, 60 Logins…” esse nível de informação a cada Tier, ou seja, é bastante decoreba mesmo! Tirando essa parte chata de decorar, cai alguns casos comuns do dia a dia, como recuperação de databases, implementação de segurança das novas features. Na minha prova também teve duas questões relacionadas ao SQL Server no Linux, mas foram bem tranquilas (“Graças a Deus”). Por fim, lembro de algumas questões com comandos em PowerShell, a maioria para criar ou alterar uma regra de firewall (não esqueça de estudar isso!).

Material de estudos:

Implement SQL in Azure 

  • Deploy a Microsoft Azure SQL Database
  • Plan for SQL Server installation
  • Deploy SQL Server instances 

Manage databases and instances

  • Configure secure access to Microsoft Azure SQL Databases
  • Configure SQL Server performance settings

Deploy and migrate applications 

  • Deploy and migrate applications
  • Deploy applications to SQL Server on Azure Virtual Machines
  • Migrate client applications 

Livros:

Exam Ref 70-765 Provisioning SQL Databases (English Edition)

Prova 70-465 – Designing Database Solutions for Microsoft SQL Server (link)

Essa prova não é a mais difícil, mas também não é fácil, na minha opinião ela é uma prova que requer bastante atenção, pois o conteúdo dela é bastante comum ao dia a dia do DBA.

Os skills medidos na prova:

Criar estrutura de banco de dados (25-30%)

– Desenvolver soluções de requisitos de negócio

– Converta as necessidades de negócios em estruturas de dados; normalização de banco de dados usando recursos do SQL Server, incluindo o uso de view materializada e indexadas, views  particionadas e distribuídas, índices filtrados e de colunas não chave e snapshot.

Criar bancos de dados físicos e colocação de objetos

– Desenvolva um banco de dados físico, incluindo o posicionamento de arquivos filestream, filetable, file groups e Raid; configure as opções de banco de dados de sistema.

– Criar tabela e estratégia de particionamento de índice

 – Desenvolva a estratégia ideal para indexação, arquive usando partições e tabelas, crie índices columnstore e índices XML.

– Crie uma estratégia de migração, consolidação e atualização

– Atualização com o menor down-time, crie uma migração entre clusters, planos de entrega de bando de dados, incluindo o uso de comandos PowerShell, Server Core, migre os planos de execução; desenvolva uma estratégia de migração usando Distributed Replay Controller; crie uma estratégia de virtualização do SQL Server.

– Crie instâncias do SQL Server

– Identifique o hardware para novas instâncias; crie afinidade de CPU; crie instâncias clusterizadas usando Coordenador de Transações Distribuídas da Microsoft (MSDTC); defina a alocação de memória para a instância; crie estratégias de instalação, incluindo o sysprep, slipstream e servidor de arquivos SMB; defina o cross db ownership chaining.

– Crie soluções de backup e recuperação

– Desenvolva uma estratégia de backup com base nas necessidades de negócios, incluindo diferencial, arquivo, registro e volume distribuído, crie uma estratégia de snapshot de banco de dados, projete modelos de recovery adequados, crie uma estratégia de backup de banco de dados de sistema, recuperação dos backups de tail log.

Criar bancos de dados e objetos de banco de dados (30-35%)

– Desenvolva um modelo de banco de dados

– Desenvolva uma esquema lógico, crie uma arquitetura de acesso aos dados e de camada de dados, crie um esquema de banco de dados, desenvolva uma arquitetura de segurança, desenvolva um modelo de banco de dados de instância entre servidores, incluindo linked servers, providers, segurança, transações distribuídas, views particionadas e distribuídas e Service Broker

– Criação de tabelas

– Estruturar tabelas de maneira apropriada, incluindo físicas tabelas, tabelas temporárias, variáveis de tabela temporária, common table expressions (CTE), índices columnstore, tipos de tabela definidos pelo usuário, filestream, filetable e OLTP In-memory; crie views e funções com valor de tabela; crie uma estratégia de compactação, incluindo linhas e páginas; selecione um tipo de dados apropriado; crie colunas calculadas.

– Criar soluções de concorrências

– Desenvolva estratégias para maximizar a concorrência; defina uma estratégia de locks e concorrência; crie uma estratégia de isolamento de transação, incluindo banco de dados e sessão do servidor; crie triggers para concorrência.

– Desenvolver T-SQL Stored Procedures

– Crie stored procedures; desenvolva uma estratégia de acesso de dados usando procedures; crie parâmetros de procedures, incluindo input, output e tabelas com valores; crie tratamento de erros; crie uma estratégia de OLTP In-memory para procedures.

– Desenvolva uma estratégia de automação de gerenciamento

– Crie uma solução de arquivamento de dados; crie uma solução de automação e auditoria de projetos, incluindo trabalhos, alertas, operadores, SSIS, CDC, auditoria, DDL Triggers e PowerShell; automatize vários bancos de dados e instâncias; crie processamento de dados em batchs; crie testes de carga de banco de dados para implementação em diferentes ambientes, incluindo produção, preparação e desenvolvimento.

– Desenvolva soluções para transações

– Gerencie transações, incluindo tempo e marca de salvamento; desenvolva soluções para transações implícitas e explícitas; garanta a integridade dos dados usando transações; crie soluções de tratamento de erros para transações, incluindo TRY, CATCH e THROW.

Criar segurança de banco de dados (10-15%)

– Desenvolver estratégia de aplicação para suporte de segurança

– Desenvolva estratégias de segurança, incluindo funções de segurança, stored procedures assinadas, criptografia, logins, Execute As e credenciais; implemente esquemas e segurança de esquemas; crie estratégias de manutenção de segurança, incluindo logins do SQL, autenticação integrada, permissões e espelhamento.

– Criar banco de dados, esquema e permissões de segurança de objetos

– Desenvolva esquema de banco de dados que atenda aos requisitos de segurança,  schema ownership, ownership chaining, cross database chaining.

– Criar configurações de segurança em nível de instância

– Implemente a separação de tarefas usando funções de login diferentes; escolha um tipo de autenticação, incluindo trigger de login, requisitos regulatórios e certificados; implemente a criptografia de dados, incluindo a chave mestra de banco de dados e configuração; implemente DDL Triggers; defina uma conta de serviço segura.

Projetar solução de diagnóstico de problemas e otimização (25-30%)

– Desenvolver estratégias de manutenção para servidores de banco de dados

– Desenvolva planos de manutenção; crie manutenção de índices, incluindo rebuild, reorganize, estatísticas, rebuild online, rebuild offline e fillfactor; mantenha a consistência física e lógica (DBCC); gerencie arquivos de banco de dados, incluindo LDF, MDF, OLTP in-memory; defina uma política de retenção.

– Diagnosticar e resolver problemas de concorrência

– Examine problemas de conflitos usando logs do SQL Server e trace flags; crie uma infraestrutura de relatórios de banco de dados, incluindo bancos de dados replicados; monitore a concorrência, incluindo DMV’s; diagnostique locks, incluindo locks em tempo real e dead-locks; diagnostique waits; use extended events; implemente query hint.

– Projetar e implementar soluções de alta disponibilidade

– Configure sistemas de alta disponibilidade, incluindo várias sub-redes; crie database mirror legíveis; crie uma configuração de alta disponibilidade com tempo de recuperação reduzido; projete e garanta os requisitos de tempo de atividade, incluindo monitoramento e aplicação de correções; desenvolva e implemente uma arquitetura de replicação; implemente sistemas e grupos de alta disponibilidade AlwaysOn e clusters de failover AlwaysOn.

– Projetar solução para o monitoramento de desempenho e concorrência

– Identifique os contadores de monitoramento de desempenho; monitore o desempenho e gargalos, incluindo estatísticas de wait; crie uma estratégia de acompanhamento e análise de consulta; monitore a ausência de estatísticas.

– Projetar solução para o monitoramento em nível de instância

– Crie estratégias de auditoria, incluindo extended events, traces, auditoria de SQL, manutenção agendada por Profiler ou baseada em eventos, monitore o desempenho e uso de DMVs; monitoramento do arquivo de instalação e expansão de tabela; colete indicadores de desempenho e contadores; crie jobs para monitorar a integridade do servidor; auditoria por logs do Windows.

Comentários sobre a prova:

Como eu disse, essa prova tem muito conteúdo que acontece no dia a dia do DBA, porém as questões tem um nível maior de dificuldade, pois algumas tem a seguinte observação: “Todas as  opções estão corretas, mas qual é que demanda o menor esforço?”, esse tipo de questão que mata o jogador.

Como comentei anteriormente, essa prova não é a mais difícil, porém é a que requer maior atenção e concentração, pois foi a que tive o menor desempenho, mas como se diz “o importante são os 3 pontos =D”, no nosso caso, “os 700 pontos para passar =D”.

Material de estudos:

Design a database structure

  • Design for business requirements
  • Design physical database and object placement 
  • Design a table and index partitioning strategy 
  • Design a migration, consolidation, and upgrade strategy
  • Design SQL Server instances 
  • Design backup and recovery 

Design databases and database objects 

  • Design a database model 
  • Design tables 
  • Design for concurrency 

Design database security 

  • Design database, schema, and object security permissions 
  • Design instance-level security configurations 

Design a troubleshooting and optimization solution 

  • Design a maintenance strategy for database servers
  • Design a solution to monitor performance and concurrency
  • Design a monitoring solution at the instance level 

Fontes:

https://www.dirceuresende.com/blog/certificacoes-microsoft-material-de-estudo-para-as-provas-de-mcsa-do-sql-server-2016/

https://www.mssqltips.com/sqlservertip/4696/study-material-for-exam-70764-administering-a-sql-database-infrastructure/

https://www.mssqltips.com/sqlservertip/4734/study-material-for-exam-70765-provisioning-sql-databases/

https://www.mssqltips.com/sqlservertip/4610/study-material-for-exam-70465-designing-database-solutions-for-microsoft-sql-server/

Bom pessoal por hoje é isso.

Um grande abraço.

Tiago Neves

Curta a minha página no facebook e fique por dentro das novidades do mundo SQL Server.

3 Comments

Deixe uma resposta