Treinamento SQL Server: Tarefas do dia a dia de um DBA

3, novembro, 2014 Sem comentários

 

Olá Pessoal,

Um amigo quer entrar para a área de administração de banco de dados e me solicitou um treinamento que abordasse as atividades de um DBA no seu dia a dia de trabalho. Diante disso, resolvi preparar um treinamento para ele, mas abrirei o treinamento para mais 4 pessoas totalizando uma turma de 5 alunos para que o treinamento seja o mais produtivo possível para os participantes.

Nesse momento, esse treinamento será presencial em Vitória-ES, contudo, posteriormente espero realizar o mesmo treinamento de forma ONLINE para atender aos profissionais de outros estados.

Para o pessoal que pode fazer o treinamento presencial em Vitória-ES, me envie um e-mail ou me chame no skype para fazer sua reserva. Como são apenas 4 vagas disponíveis, as inscrições podem acabar rápido.

Para o pessoal que não é de Vitória-ES, mas também possuem interesse nesse treinamento, também já podem me mandar um e-mail que eu coloco na fila de reserva para quando for realizar o treinamento ONLINE, que também terá um número limitado de pessoas na sala para poder ser bem produtivo.

Seguem os contatos para a realização das reservas:

  • E-mail: [email protected]
  • Nome Skype: fabriciolima.net

Abaixo os detalhes do treinamento:

Objetivo

O objetivo desse treinamento é mostrar as tarefas que um DBA deve executar no seu dia a dia de trabalho, tais como, instalação, configuração, manutenção e monitoramento de um ambiente SQL Server. Quem é responsável por um ambiente SQL Server, mesmo que ele seja pequeno, é obrigado a conhecer os assuntos tratados nesse treinamento.

Os scripts utilizados nesse treinamento serão utilizados por vocês durante anos e anos de carreira para quem seguir nessa área de administração de banco de dados.

Após esse treinamento vocês poderão administrar um ambiente SQL Server de forma mais proativa e com maior segurança, aumentando a performance e a disponibilidade desse ambiente.

Carga Horária e Cronograma

A duração desse treinamento é de 24 horas e ele será realizado em três sábados no período de 09:00 às 18:00.

A previsão é de que ele seja realizado aqui em Vitória-ES em Dezembro/14 ou Janeiro/15 dependendo da disponibilidade dos alunos interessados.

Público Alvo

Desenvolvedores, Analistas de Infraestrutura, DBAs iniciantes e outros profissionais que desejam conhecer como um DBA deve administrar um banco de dados SQL Server no seu dia a dia de trabalho.

O foco desse curso não é para DBA’s experiêntes, mas sim para DBA’s iniciantes ou pessoas que precisam ou desejam administrar um SQL Server no dia a dia.

Sobre o Instrutor

Trabalho há 9 anos com SQL Server em uma grande empresa de Vitória-ES, além disso, já atendi mais de 30 clientes espalhados pelo Brasil com minha consultoria remota conforme pode ser visto no link abaixo:

http://www.fabriciolima.net/blog/clientes/

Nesse mesmo blog já compartilhei inúmeras experiências do meu dia a dia como podem ser conferidas nas categorias abaixo:

Essa experiência, scripts e rotinas de administração que adquiri nesses anos que compartilharei com vocês no treinamento.

Investimento Financeiro

O valor do treinamento é de R$ 1.350,00 por aluno e poderá ser pago em até duas vezes.

Para pagamento à vista é concedido um desconto de R$:100,00

  • Valor à vista:  R$ 1.250,00
  • Valor em duas vezes: 2 x 675,00 = R$ 1.350,00

Conteúdo Programático

Modulo 01: Instalação e configuração do SQL Server 

  • Planejamento de uma instalação
  • Realização de uma instalação ao vivo
  • Configurações pós instalação

Modulo 02: Gerenciamento de Acessos no SQL Server 

  • Criação de Usuários e Logins
  • Inclusão e remoção de acessos aos objetos do banco de dados

Modulo 03: Diversas Tarefas do Dia a Dia 

  • Criação de uma base de dados
    • Page Verify Option
    • Recovery Model
  • Criação de Tabelas
  • Principais tipos de dados do SQL Server
  • Utilização de Constraints (PK, FK, Default, Check e etc)
  • Detach e Atach
  • Import e Export
  • Linked Server
  • Shrink
  • Configuração Database Mail

Modulo 04: Backup e Restore 

  • Backup
    • Conceitos
    • Diferença dos tipos de backup FULL, Diferencial e do Log
      • Como funciona o arquivo de Log do SQL Server
    • Dicas para criar uma estratégia de backup
    • O que acontece se durante a execução de um backup FULL forem executados backup de Log?
  • Restore
    • Conceitos
    • Testes de restore
      • Restore FULL + Logs
      • Restore FULL + Log até um determinado horário

Modulo 05: SQL Agent

  • Operadores
  • Alertas
  • Configurações
  • Trabalhando com Jobs 

Modulo 06: Criação de Alertas 

Criação de alertas no banco de dados e o que fazer quando receber um:

  • Alertas de locks entre dois processos por mais de X minutos
  • Alertas quando o Transaction Log passa de 85 % de utilização
  • Alertas de Consumo de CPU
  • Alerta de Falta de espaço em disco
  • Alertas quando acontecerem erros graves no SQL Server com  severidade entre 20 e 25
  • Alertas de databases que não estão ONLINE
  • Alertas de páginas e bases corrompidas no banco de dados
    • Visão geral sobre corrupção de banco de dados

Modulo 07: Realizando um Tuning na prática 

  • Análises iniciais dos recursos do servidor
    • CPU
    • Memória
    • Disco
  • Criação da procedure WhoisActive
    • Exemplos de utilização e explicação dos resultados retornados por essa procedure
  • Criação de um Trace para Log das queries lentas do banco de dados
    • Desabilitação do trace Default do SQL Server
    • Criação da rotina de traces
    • Como criar um Server Side Trace
  • Criação de uma rotina para armazenar alguns contadores do SQL Server
    • BatchRequests
    • User_Connection
    • CPU
    • Page Life Expectancy
  • Análise das Estatísticas
    • Entendendo como as estatísticas funcionam e sua importância
    • Criação de uma rotina para atualização de estatísticas
  • Índices
    • Como os dados são armazenados no SQL Server
    • Tipos de índices (clustered e nonclustered)
    • Fragmentação
      • Rotina para armazenar o histórico de fragmentação de índices
      • Rotina para desfragmentar os índices das bases
  •   Analise da utilização de índices
    • Rotina para armazenar o histórico de utilização de índices
  • Sugestões de índices pelo SQL Server
  • WaitsStats
    • O que são WaitsStats no SQL Server?
    • Como analisar?
    • Explicação dos Waits mais comuns
    • Rotina para armazenar um histórico de Waits no BD
  • Execution Plan
    • Como analisar?
    • Operadores mais comuns
  • Análise das queries lentas retornadas no Trace criado
    • Análise das queries que mais vezes demoraram no banco de dados
    • Análise do consumo de recursos
    • Criação de índices
  • Scripts para análise das:
    • Queries mais executadas
    • Queries que consomem mais CPU
    • Queries que realizam mais leituras 

Modulo 08: Overview das soluções de Desastre e Recovery mais utilizadas nas empresas           

  • Até o SQL 2008 R2
    • Cluster
    • Database Mirroring
  • A partir do SQL 2012
    • Alwayson Failover Cluster
    • Alwayson Availability Groups
    • Database Mirror (para versões Standard)
  • Soluções menos utilizadas
    • Replicação
    • Log Shipping

Não perca essa oportunidade de investir na sua carreira.

Abraços,

Fabrício França Lima

MCITP – Database Administrator

Trabalha com SQL Server desde 2006

Cliente diz: “Tenho Backups e meu banco está seguro”. Será???

16, junho, 2014 8 comentários

Olá Pessoal,

O objetivo desse post é fazer um alerta a todos vocês que são responsáveis por um banco de dados SQL Server, seja você um desenvolvedor, um analista de banco de dados, um coordenador ou gerente de TI.

Já atendi muitos clientes na minha Consultoria SQL Server que contrataram um pacote de Tuning comigo, mas não quiseram contratar o pacote de reestruturação das rotinas de backups e alertas, pois ele já tinha um backup rodando no banco de dados ou tinha um servidor na nuvem onde existe uma garantia de alta disponibilidade do servidor virtual ou por outros motivos.

Acontece que mesmo com uma excelente rotina de backups você pode perder dados no SQL Server. Isso não é um problema exclusivo do SQL Server, dados também podem se corromper nos outros SGBDs do mercado (Oracle, DB2 e etc).

Em um exemplo real, um cliente me ligou pedindo ajuda pois que sua base estava corrompida. Ao fazer uma análise do nível de corrupção desse cliente, não seria possível recuperar essa base, pois páginas de estruturas internas da única tabela existente na base estavam corrompidas. Nem o comando CHECKDB com REPAIR_ALLOW_DATA_LOSS era possível ser executado nessa base dado o nível de corrupção. Solicitei os backups ao cliente e ele disse que tinha apenas um backup feito na semana anterior, mas que já tinha restaurado e o backup também já estava com a base corrompida.

Nesse caso, o backup era executado com sucesso, mas a base possuía páginas corrompidas. A única solução possível foi realizar um SELECT nos dados que ainda estavam sendo retornados e inserir esses dados em uma nova Base/Tabela.

Resultado: Perda de dados para a empresa.

Imagina se isso acontece com o banco de dados da sua empresa e com a tabela mais importante que existe?

Outro caso real e mais grave é contado pelo Paul Randal (cara que escreveu o CHECKDB). Um Banco dos EUA teve um problema de corrupção em um índice nonclustered. A princípio essa é uma corrupção simples de resolver, mas o DBA tomou uma série de ações erradas que aumentou ainda mais o problema. Chamaram o Paul Randal e após análise do ambiente ele pediu os backups para recuperar a base. O Banco tinha um backup FULL de 4 meses atrás e backups do Log até o dia do problema, tudo em fita. Milagrosamente, todos os backups foram restaurados com sucesso, mas o banco ficou parado por 2 dias para concluir essa operação. Os clientes que não conseguiram tirar extratos ou sacar seu dinheiro por dois dias mudaram de banco e logo em seguida o banco quebrou.

Resultado: Empresa falida e com uma contribuição significativa do DBA. Para verem o poder que esse profissional tem em mãos e muitas vezes isso não é valorizado até que um desastre como esse aconteça.

Mas o que pode ser feito para evitar ou amenizar esses problemas de corrupções?

  • A primeira dica é cuidar muito bem do seu sistema de I/O (Discos, drives, controladoras e etc).
  • Cuidar do seu fornecimento de energia para evitar quedas inesperadas do seu servidor.
  • Monitorar a tabela suspect_pages no MSDB.
  • Monitorar os alertas 823, 824 e 825.
  • Executar o CHECKDB com a maior frequencia possível, mas em horários não produtivos pois é um procedimento muito pesado. Em caso de encontrar uma corrupção, um alerta deve ser enviado imediatamente.
  • Ter um Database Mirroring ou AlwaysOn Availability Groups configurado. Como essas tecnologias replicam log de transação, uma corrupção de página não é replicada para os servidores secundários. Além disso, em alguns casos, a página corrompida é recuperada automaticamente do servidor secundário para o servidor primário.  Isso já seria um grande motivo para convencer seu gerente a investir nessas tecnologias.
  • Ter uma rotina de backup adequada com backups redundantes e realizar testes de restore com esses backups. Não adianta ter backup e o mesmo não funcionar na hora de restaurar por estar corrompido.

Evitar 100% uma corrupção não é possível, mas você deve ter meios de identificar essa corrupção o mais rápido possível para poder atuar e diminuir os impactos causados por essa corrupção.

Corrupções em banco de dados acontecem com mais frequência do que imaginamos, basta dar uma busca nos fóruns que encontrará várias threads com alguém solicitando ajuda em uma corrupção. Também vejo esses relatos em muitas listas de e-mail e agora até dos clientes que atendo como consultoria.

Para finalizar esse post, se você é responsável pela TI da sua empresa, possui um banco SQL Server e não tem ninguém com conhecimento para administrá-lo, você tem duas opções:

  • Contratar um especialista SQL Server para analisar seu ambiente e criar os procedimentos necessários para te alertar rapidamente em caso de corrupção.
  • Treinar um de seus colaboradores para que possam realizar essas tarefas de administração do ambiente.

Espero ter contribuído para evitar que esse problema aconteça com vocês. Corrupção é o problema que mais me dá medo nos bancos de dados SQL Server que sou responsável.

Para refletir:

Backups, Alertas e Monitoramento é igual seguro de carro, tenho seguro de carro há 5 anos e nunca usei, contudo, o dia que meu carro for roubado, minhas perdas serão mínimas. Eu pago o seguro para ficar mais tranquilo.

O mesmo vale para um banco de dados de uma empresa que vale muito mais que um carro. Seu banco de dados pode estar há 5 anos sem nenhum problema, contudo, o dia que acontecer um problema grave e você não tiver preparado, suas perdas podem ser muito maiores do que seria se seu carro fosse roubado.

Vale a pena fazer um “seguro” do banco de dados da sua empresa?

Abraços,

Fabrício França Lima

MCITP – Database Administrator

Trabalha com SQL Server desde 2006

Casos do Dia a Dia: Removendo um Disco Mount Point de um Cluster SQL Server

9, junho, 2014 2 comentários

Olá Pessoal,

Em um belo dia de sol, precisamos remover um disco que era mount Pouint de um cluster com SQL Server.

Realizamos a remoção como se fosse um disco normal, conferimos que o disco não estava mais sendo utilizado, tiramos todas as dependências desse disco e finalmente retiramos o disco do cluster (botão direito no recurso + Remove).

Ao fazer isso, todos os meus recursos desapareceram da minha console do Failover Cluster Services:

Leia mais…

SQL Server 2012 – Simulado para a prova 70-461 – Parte 10

Olá Pessoal,

Após um bom tempo parado, consegui uma folga nas minhas consultorias para escrever mais um post. Segue mais um simulado com 5 questões para a prova 70-461.

1 – Quais das opções abaixo indicam o que não pode ser feito em uma função no SQL Server? (Marque todas as corretas)

a – Criar ou acessar tabelas temporárias
b – Chamar uma Stored Procedures
c – Executar códigos dinâmicos no SQL Server
d – Fazer um loop com WHILE ou CURSOR
e – Chamar uma View
f – Chamar outras funções

Leia mais…

TOP 5 Posts mais acessados em Abril de 2014

Olá Pessoal,

Pelo quarto mês seguido tive um recorde de visitas (293 a mais) e visualizações de páginas (825 a mais). Segue abaixo os dados de acesso do mês:

Seguem os 5 artigos com mais visualizações do mês de Fevereiro de 2014:

1 - Material para as certificações MCSA e MCSE do SQL Server 20121.870 visualizações

2 - 5 motivos para quem utiliza o Protheus (Totvs) contratar um DBA SQL Server1.710 visualizações

3 - Windows Server 2012 – Simulado para a prova 70-410 – Parte 11.439 visualizações

4 -SQL Server 2012 – Simulado para a prova 70-461 – Parte 1: 765 visualizações

5 - Windows Server 2012 – Simulado para a prova 70-410 – Parte 3: 703 visualizações

Destaque para mais um post de Windows Server que apareceu no TOP 5. A galera de infra está aumentando a presença aqui.

Seguem outras estatísticas do Blog: Quantidade de Acesso

Abraços,

Fabrício França Lima

MCITP – Database Administrator

Trabalha com SQL Server desde 2006

Categories: Notícias

Como serão as certificações do SQL Server 2014?

27, abril, 2014 4 comentários

Olá Pessoal,

Sexta-feira estive no evento oficial de lançamento do SQL Server no Brasil na sede da Microsoft em São Paulo. Foi falado bastante sobre as novas funcionalidades do SQL 2014, contudo, ninguém tocou no assunto certificação.

Me passaram um link da microsoft muito interessante onde na parte de perguntas e respostas são ditas algumas informações muito importantes sobre as certificações do SQL Server 2014.

Segue o link: http://www.microsoft.com/learning/pt-br/sql-certification.aspx#faq

A parte interessante desse link é essa informação abaixo:

Leia mais…

TOP 5 Posts mais acessados em Março de 2014

Olá Pessoal,

Pelo terceiro mês seguido, mesmo com Março tendo 5 dias de carnaval, tive um recorde de visitas (616 a mais) e visualizações de páginas (1.320 a mais). Segue abaixo os dados de acesso do mês:

No dia 18/03 também foi batido o recorde de visualizações do Blog em um único dia: 1.166 visualizações

Seguem os 5 artigos com mais visualizações do mês de Fevereiro de 2014: 

1 - Material para as certificações MCSA e MCSE do SQL Server 20121.721 visualizações

2 - 5 motivos para quem utiliza o Protheus (Totvs) contratar um DBA SQL Server1.402 visualizações

3 - Windows Server 2012 – Simulado para a prova 70-410 – Parte 11.277 visualizações

4 -SQL Server 2012 – Simulado para a prova 70-461 – Parte 1: 648 visualizações

5 - Cursos e materiais de TI online e grátis618 visualizações

Destaque para o Post do Protheus que assumiu a segunda colocação dos posts mais visualizados.

Seguem outras estatísticas do Blog: Quantidade de Acesso

Abraços,

Fabrício França Lima

MCITP – Database Administrator

Trabalha com SQL Server desde 2006

Categories: Notícias

Evento presencial gratuito de SQL Server em São Paulo – Eu vou!

19, março, 2014 2 comentários

Fala Pessoal,

Passando para divulgar um evento técnico que ocorrerá na sede da Microsoft Brasil em São Paulo.

Pela agenda da figura abaixo, as sessões serão de alto nível técnico e vale a pena conferir.

Leia mais…

Importando arquivos DBF (Protheus Totvs) para o SQL Server

18, março, 2014 1 comentário

Olá Pessoal,

Realizando um trabalho com minha Consultoria Remota, o cliente precisava  importar arquivos no formato DBF para o SQL Server.

Nativamente, não é possível fazer essa importação.

Leia mais…

Microsoft divulga a data de lançamento do SQL Server 2014

18, março, 2014 Sem comentários

Olá Pessoal,

Quem acompanha a comunidade SQL Server hoje já viu via twitter ou outros Blogs que foi liberada a versão RTM (Release to Manufacturing) do SQL Server e que no dia 01 de Abril será liberada a versão GA (General Availability ), onde o SQL Server será disponibilizado para o público. É isso mesmo, “verdade verdadeira” mesmo no dia 01 de Abril.

Leia mais…

Follow

Get every new post delivered to your Inbox

Join other followers