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!
Anúncios

TK 70-432 Capítulo 2: Configuração e Manutenção de Banco de Dados (Parte 1)

Olá!

Começaremos a semana com mais um capítulo do TK-70-432, o Capítulo 2: Configuração e Manutenção de Banco de Dados, que abrange os seguintes objetivos do exame e lições:

Objetivos:
– Backup databases
– Manage and configure databases
– Maintain database integrity
– Manage collations

Lições:
– Lesson 1: Configuring Files and Filegroups
– Lesson 2: Configuring Database Options
– Lesson 3: Maintaining Database Integrity

É importante para esse capítulo já ter instalado o SQL Server 2008 e o banco de dados de exemplo AdventureWorks.

– Lesson 1: Configuring Files and Filegroups

O SQL Server utiliza basicamente dois tipos de arquivos, o arquivos de dados e o arquivo de log (Datafile e Transaction Log). Precisamos entender o funcionamento do SQL Server para entender a necessidade de cada arquivo.

Quando o SQL necessita manipular um dado de uma tabela, ele lê seu conteúdo no disco e grava em memória onde a sua manipulação é feita, no final da transação ela é gravada no Transacion Log, e só é gravada no Datafile quando um processo que roda em background chamado de CheckPoint é executado. Mesmo que uma transação seja feita toda em um buffer da memória do servidor, ela só é liberada quando é gravada no transaction log, diminuindo a chance de problema de integridade se o servidor falhar.

Falando um pouco sobre DataFiles, que são os arquivos onde os dados já persistidos ficam armazenados, podemos ter mais de um datafile por banco de dados de modo a distribuir os arquivos em vários discos, aumentando a velocidade devido ao menor I/O por disco. Para evitar que um disco seja gravado de forma desproporcional, o SQL utiliza um algoritmo de preenchimento de discos que ocupa os dados de um disco de maneira proporcional, ou seja, se temos um banco de dados com dois datafiles, um de 1Gb e outro de 10Gb o SQL vai gravar 10 linhas no disco de 10Gb para cada linha no disco de 1Gb.

Esses DataFiles são criados dentro de um Filegroup, o filegroup padrão é chamado de PRIMARY, um filegroup é uma estrutura onde os objetos de um banco de dados (tabelas, indices, etc.) estão armazenados. 

Podemos aumentar o desempenho e organização de um banco de dados criando outros filegroups, dividindo o banco de dados em arquivos dispostos em discos diferentes, diminuindo a concorrência no mesmo disco. Também podemos definir que uma tabela do banco de dados fique dentro de um filegroup readonly, não permitindo a gravação nessa tabela. O filegroup é definido no momento da criação os objetos usando a cláusula “ON”, caso não seja citada essa cláusula o objeto será criado no filegroup PRIMARY. Ex:

CREATE TABLE Cliente
(ClienteID int IDENTITY PRIMARY KEY,
Nome nvarchar(100),
Cidade nvarchar(20))ON nomedofilegroup

Nesse caso a tabela será criada no filegroup nomedofilegroup. Também podemos definir um DEFAULT FILEGROUP que especifica o filegroup das tabelas que são criadas sem a cláusula ON serão criadas.
Quando o SQL Server confirma uma transação, ela é gravada no Transaction Log do banco de dados para só depois ser gravada no disco, o desempenho do banco de dados depende muito do Transaction Log, que preferencialmente deve ser criado em um disco diferente que o disco de dados e que seja criado no disco mais rápido disponível.

Por padrão os arquivos de dados criados no PRIMARY filegroup tem a extensão .MDF, os criados em outros filegroups possuem a extensão .NDF e os transaction logs com a extensão .LDF.

Outro sistema de arquivos presente no SQL Server 2008 é o FILESTREAM, que consiste em dados não estruturados sendo gravados numa pasta específica do disco, quando definimos um caminho filestream no SQL ele grava um arquivo .HDR nessa pasta e ele faz o gerenciamento dos arquivos lá contidos.

Em resumo, algumas dicas são importantes para diminuir problemas de performance no SQL 2008:

– Dividir arquivos de um banco de dados muito grande de filegroups, se possível em discos diferentes.
– Manter os arquivos do Transaction Log em discos e controladoras de disco diferentes dos discos de datafiles.
– Não abusar dos filegroups, se por um lado dividimos o I/O em vários discos ao dividir um banco de dados, por outro lado aumentamos a necessidade de processamento do servidor para gerenciar todos essas divisões.

Exemplo: Criando um banco de dados

Podemos testar a criação de um banco de dados e filegroup utilizando os comandos abaixo:

Por enquanto era isso, seguimos na lição 2 a seguir! Até a próxima!

Criando a infraestrutura para os estudos

Olá!


Uma pequena pausa nos capítulos para um tema que esqueci de comentar, é interessante montar um pequeno laboratório para os estudos do SQL Server, coisa que graças ao gênio que inventou a virtualização é bem mais fácil de fazer hoje em dia.

A estrutura que eu montei utiliza para a virtualização o VMWare Player gratuito e as versões Evaluation do Windows Server 2008 R2 e do SQL Server 2008 R2, essas duas últimas são gratuitas por até 180 dias.

Para a maioria dos objetivos da certificação, basta uma instância do SQL Server. Já para utilizar os serviços de Log Shipping e Database Mirroring, pelo menos uma segunda instância deve ser criada, mesmo que seja no mesmo servidor.

Mas como o Failover Clustering está dentre os objetivos da 70-432, é necessário pelo menos dois servidores Windows, logo, duas VM’s são necessárias para o SQL Server, mais uma para o Domain Controller, pré requisito para a instalação do Failover Cluster. 

Mais adiante abordarei a instalação do Failover Cluster, por enquanto basta uma VM do SQL Server, ou mesmo a instalação no próprio pc.

Até a próxima!

TK 70-432 Capítulo 1: Instalando e Configurando o SQL Server 2008 (Parte 4)

Finalizando o capítulo 1 temos a última lição:

– Lesson 4: Configuring Database Mail
O Database Mail é um recurso do SQL Server que permite que sejam enviados emails através dos serviços do SQL. O Database Mail é um recurso que está presente desde o SQL 2005, substituindo o SQL Mail das versões anteriores.

Podemos usar o Database Mail para enviar mensagens quando houverem erros e/ou alertas no servidor, para alertar quando um job teve sucesso ou falha, para avisar quando algum dado foi modificado e enviar alertas ao administrador quando forem criados novos usuários, ou alguma configuração de segurança for alterada.

Para configurar o Database Mail seguimos os passos abaixo:
  1. Iniciar o SQL Server Management Studio (SSMS) e expandir o nó Management.
  2. Clicar com o botão direito em Database Mail e selecionar Configure Database Mail.
  3. Clicar em Next para iniciar o Database Mail Configuration Wizard.
  4. Preencher os campos Profile Name e Description com alguma descrição para o perfil criado e clique em Add Profile.
  5. Clicar no botão New Account para criar uma nova conta, configurando os dados da conta de email, incluindo servidor SMTP e senha de autenticação.
  6. Configurar os parâmetros como Retry Attempts, Maximum File Size, etc. conforme a necessidade.
  7. Confirmar a configuração.
  8. Caso queira testar a configuração, basta clicar com o botão direito do mouse em Database Mail e selecionar a opção Send Test E-Mail…
E assim terminamos o Capítulo 1 do TK 70-432! Até o capítulo 2!!

TK 70-432 Capítulo 1: Instalando e Configurando o SQL Server 2008 (Parte 3)

Continuando com ao jornada do capítulo 1 segue a lição 3. Estou passando rapidamente por esse capítulo por ser o mais simples, os próximos tendem a ser mais detalhados e maiores… aguardem!!

– Lesson 3: Installing and Configuring SQL Server Instances

Não vou focar aqui a instalação passo a passo do SQL Server, visto que ela é bem simples de ser feita e há inúmeros guias na internet, mas citarei alguns pontos que devemos prestar atenção:

Contas de Serviço: Cada serviço do SQL Server, como o Database Engine e o SQL Server Agent podem ser configurados com uma conta específica, deve-se recomenda-se utilizar usuários distintos para cada serviço e que sejam usuários de domínio. Mais adiante esse assunto será revisto.

Collation Sequences: A configuração de collation sequence define o modo que o SQL Server trata os dados para classificação e/ou comparação. Ex: O collation SQL_Latin1_General_CP1_CI_AI utiliza a configuração case insensitive (CI) que não diferencia caracteres maiúsculos e minúsculos e accent insensitive (AI) que não distingue caracteres acentuados para os não acentuados.
A configuração de collation sequence pode ser definida a nível instance, database, table e column, ou seja, na instalação definimos o collation padrão na instalação do SQL Server, que será utilizado por todas os databases, tabelas e colunas, mas podemos definir um collation diferente para uma tabela específica, por exemplo.

Modos de Autenticação: O SQL Server 2008 suporta dois modos de autenticação:

  • Windows Only (Integrated Security): utiliza a conta de domínio windows para acessar a instância do SQL.
  • Windows and SQL Server (Mixed Mode): utiliza ou uma conta de domínio windows ou uma conta criada pelo SQL Server.

Instâncias do SQL: Uma instância no SQL Server é um conjunto distinto de configurações, databases, credenciais, objetos, etc. Um servidor com duas instâncias age como se tivessem dois servidores rodando o SQL Server, cada instância possui seus serviços de database engine, sql server agent, etc. É um recurso interessante quando temos só um servidor e nele ambientes de desenvolvimento, homologação e produção.
Cabe lembrar que o SQL Server 2008 suporta até 50 instâncias no mesmo servidor e que a única versão que suporta mais de uma instância por servidor é a Enterprise (além da developer e a evaluation, mas essas não podem ser usadas em produção).

Configuration Manager: O SQL Server Configuration Manager é um aplicativo que é instalado junto com o SQL Server que gerencia e configura os seus serviços, através dele podemos Iniciar/Parar os serviços do SQL, alterar as contas dos serviços, habilitar/desabilitar protocolos, etc. O principal motivo de ter falado dele aqui é para alertar que:

Apesar do “Windows Services” (services.msc) do windows permitir que seja trocada a conta do serviço do SQL Server, ela NÃO deve ser alterada por ele, deve-se utilizar o SQL Server Configuration Manager pois ele regera a master key do serviço do SQL.

AdventureWorks Database: a maioria dos livros que abordam o exame 70-432 utilizam como referência o banco de dados AdventureWorks, ele é um banco de dados com diversas tabelas, funções, procedures, para auxiliar o estudo do SQL Server e está disponível gratuitamente em http://msftdbprodsamples.codeplex.com/.

Ficou faltando só a lição 4 para terminarmos o capítulo 1!! Até lá!! 

TK 70-432 Capítulo 1: Instalando e Configurando o SQL Server 2008 (Parte 2)

Continuando o Capítulo 1:

Lesson 2: Selecting SQL Server Editions

O SQL Server 2008 está disponíveis nas seguintes edições:
  • Enterprise: Desenvolvida para a utilização em grandes empresas, nessa versão todos os recursos do SQL 2008 estão disponíveis.
  • Standard: Desenvolvida para pequenas e médias empresas, possui menos recursos que a versão Enterprise e limitação de 4 CPUs.
  • Workgroup: Desenvolvida para pequenos projetos com uma quantidade limitada de recursos, nessa versão não é possível fazer Failover Cluster, recurso que é permitido na versão standard (limitada a 2 nodes).
  • Express: Versão gratuita do SQL Server, normalmente utilizada em pequenas aplicações web.
  • Compact: Versão utilizada em pequenas aplicações embarcadas, ele não roda como serviço e sim como um arquivo (.sdf).
  • Developer: Versão utilizada para desenvolvedores criarem aplicações com o SQL Server, todos os recursos da versão Enterprise estão disponíveis nessa versão, porém não é permitido o seu uso em ambientes de produção.
  • Evaluation: Também possui os mesmos recursos da versão Enterprise e a limitação de não poder utilizar em ambientes de produção, a diferença dessa versão é que ela expira em 180 dias.
As versões Standard, Workgroup, Express e Compact possuem algumas limitações quanto ao hardware que será utilizado, conforme tabela abaixo:

As diferenças entre os recursos suportados por cada versão do SQL Server podem ser encontrados no link Recursos compatíveis com as edições do SQL Server 2008 R2.

Essa lição foi curta, daqui a pouco sigo com a lição 3 desse capítulo.

TK 70-432 Capítulo 1: Instalando e Configurando o SQL Server 2008 (Parte 1)

Atualmente estou estudando o livro do Mike Hotek MCTS Self Paced Training 70-432 PRO Certification (que chamarei de TK 70-432), então a minha ideia é comentar todos os capítulos, abordando os objetivos de cada um no exame de certificação.


Começando no capítulo 1: Instalando e Configurando o SQL Server 2008, que possui os seguintes objetivos e lições:


Objetivos:
– Install SQL Server 2008 and related services.
– Configure SQL Server instances.
– Configure SQL Server services.
– Configure additional SQL Server components.
– Implement Database Mail.



Lições:
– Lesson 1: Determining Hardware and Software Requirements
– Lesson 2: Selecting SQL Server Editions
– Lesson 3: Installing and Configuring SQL Server Instances
– Lesson 4: Configuring Database Mail


Lesson 1: Determining Hardware and Software Requirements


Considero que determinar os requisitos de hardware para um banco de dados é uma das tarefas mais complicadas da implementação, deve-se ter em mente o tipo de registros que serão armazenados nas bases de dados e a quantidade destes registros.
Mas isso é foco para o exame 70-450, por enquanto vamos ver os requisitos mínimos para a instalação do MS SQL Server 2008, retirados do TK 70-432:




Obviamente esses são os requisitos mínimos para instalar o SQL Server 2008 e dependendo do volume de dados armazenados, talvez não seja o suficiente para garantir um bom desempenho.


Quanto aos requisitos de software, o SQL2008 suporta os seguintes sistemas operacionais:



Suportados por todas as versões do SQL Server:

  • Windows Server 2008 Standard ou superior
  • Windows Server 2003 Standard SP2 ou superior

Suportados para o SQL Server Developer, Evaluation e Express:

  • Windows XP Professional SP2 ou superior
  • Windows Vista Home Basic ou superior

Suportado somente para o SQL Server Express:

  • Windows XP Home Edition SP2 ou superior
  • Windows XP Home Reduced Media Edition ou superior
  • Windows XP Tablet Edition SP2 ou superior
  • Windows XP Media Center 2002 SP2 ou superior
  • Windows XP Professional Reduced Media Edition ou superior
  • Windows XP Professional Embedded Edition Feature Pack 2007 SP2 ou superior
  • Windows XP Professional Embedded Edition for Point of Service SP2 ou superior
  • Windows Server 2003 Small Business Server Standard Edition R2 ou superior


IMPORTANTE!!!!
O SQL Server 2008 NÃO é suportado pelo Windows Server 2008 Core!! O SQL 2008 utiliza o .NET Framework que não é suportado pelo Windows Server 2008 Core.


O .NET Framework 3.5 também é um requisito do SQL Server 2008, porém o programa de instalação ao detectar que ele não está instalado já a faz.


Fico por aqui por enquanto, a seguir a lição 2!!