Blog Archives

O ultimo backup full executado com sucesso

Olá pessoal,

Após algum tempo sem passar por aqui, venho compartilhar um pequeno script que criei para pegar o último backup full que aconteceu para cada base de dados na instancia. O script é bastante simples e com certeza, você poderá encontrar outros pela internet, mas como sempre gosto de compartilhar algo que crio, aqui estou.

O script executa a leitura na tabela backupset do banco de dados msdb procurando pelo último backup full completo. Read the rest of this entry

Gerando trace files

Ola Pessoal,

Hoje é mais uma dica simples que vou passar, se alguém ainda não conhecia essa possibilidade de geração de trace files é uma boa oportunidade para tal. Os trace files serão gerados pelo SQL Server Profiler e essa é uma boa dica, pois não é desejável que a console do Profiler fique aberta no servidor e gerando os traces podemos deixar rodando em background e sem perder performance no servidor.

Abaixo segue os passos para gerar o trace file.

Read the rest of this entry

Quem é o responsável por garantir os dados da minha database?

Ola pessoal,

Iniciando o aprofundamento dos estudos sobre os componentes do SQL Server, vou ser breve em mostrar quem é o responsável por garantir a integridade da minha database. O que muitas vezes vemos errorlog do SQL Server sao essas frases:

Recovery completed for database master (database ID 1) in 2 second(s) (analysis 691 ms, redo 318 ms, undo 602 ms.) This is an informational message only. No user action is required.

ou

1 transactions rolled forward in database ‘AdventureWorksDW’ (6). This is an informational message only. No user action is required.

ou

10 transactions rolled back in database ‘AdventureWorksDW’ (6). This is an informational message only. No user action is required.

Ai eu te pergunto quem realiza essas operaçoes? E voce me responde que isso é de responsabilidade das operacoes UNDO e REDO.

Por parte isso esta certo, mas ainda assim por traz desses dois nomes temos um processo por traz disso tudo chamado de WRITE-AHEAD LOGGING.

Toda essa magica de sincronização acontece graças a esse agente que é garantido que cada mudança ocorrida é enviada primeiramente para o transaction log antes que digamos que esteja como commitada, e que os registros do log são sempre escritos no disco antes que as paginas de dados onde as mudanças foram atualmente feitas sejam escritas.

Vale lembrar que a escrita nas paginas de dados muitas vezes ocorrem de forma assíncrona, pois todas as mudanças podem ser recuperadas do arquivo de log se necessário. É importante lembrar também que o componente de gerenciamento do transaction log gerencia também a operacao de logging, recoverying, e gerenciamento do buffer.
Temos ainda um tipo de wait para ele que se chama WRITELOG. Em um outro post em um outro dia vamos falar um pouco dele.

Espero que tenham gostado desse post, tentei ser o mais simples possivel. A medida que os estudos forem avançando, vou avançando o conteudo dos posts.. so…. stay tuned !!

Att,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

 

Dicas para a prova 70-432

Ola Pessoal,

Para esta prova ainda não tinha colocado as minhas dicas e justamente hoje vieram me pedir algumas, então nada mais justo que escrever esse post para que possa então ajudar outras pessoas. Serei breve e postarei aqui os assuntos que podem mais ajudar voces no momento da prova.

De livros recomendo apenas esses dois, pois eles já te darão uma boa base da prova que conciliada com experiencia é a formula perfeita para a aprovação.

Agora vamos as dicas do que se concentrar mais na prova.

  • Estude intensivamente sobre Backup/Restore.
  • Backup parcial
  • Restore parcial
  • Transações marcadas
  • Onde atua a criptografia do TDE
  • Como funciona Database Snapshot
  • As opções do DBCC CHECKDB
  • Modos de execucao do PBM
  • Overview do Data Collector
  • Procure entender bem os tipos de arquivos de log do SQL Server

Bom pessoal com essa serie de dicas vocês já podem ter uma noção de como sera a prova 70-432. Mas qualquer duvida enviem um e-mail para marcosfreccia @ hotmail. com que ficarei feliz em ajuda-los.

Att,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

Planejamento de ambientes em SQL Server – MCM Pre-reading list

Pessoal,

Continuando a serie de posts, vamos colocar aqui quais os passos a serem tomados no momento de um projeto em SQL Server. Nos demais dias irei postando mais detalhes desse primeiro escopo.

Planejamento de ambientes em SQL Server 2008

Quais são os passos a serem avaliados?

  1. Quais aplicações estão no escopo do projeto?
    1. Os resultados desse passo irão determinar quais serão as roles do SQL Server necessárias.
  1. Determinar quais roles do SQL Server serão necessárias.
    1. Tarefa 1: Database Engine é necessário?
    2. Tarefa 2: Integration Services é necessário?
    3. Tarefa 3: Analisys Services é necessário?
    4. Tarefa 4: Reporting Services é necessário?
    5. Tarefa5: Master Data Services é necessário?
  1. Desenhar a infraestrutura necessária para a Database Engine.
    1. Tarefa 1: Determinar capacidade e desempenho.
      1. Storage necessita ser calculada para as bases de dados, transaction logs, índices e tempdb.
      2. Após estimar o tamanho da base de dados (formula fornecida no documento), adicione mais 5% por base de dados para overhead.
    1. Tarefa 2: Determinar se colocar a base de dados em uma instancia já existente
    2. Tarefa 3: Determinar se colocar a instancia em um servidor rodando SQL Server ou em um novo servidor.
    3. Tarefa 4: Determinar o numero de servidores depois de endereçar as necessidades de escalonamento e tolerância a falhas.
    4. Tarefa 5: Determinar a localização de cada nova instancia
    5. Tarefa 6: Determinar o hardware para o servidor.
  1. Desenhar a infraestrutura do SQL Server Integration Services
    1. Tarefa 1: Determinar os requerimentos.
    2. Tarefa 2: Determinar onde os pacotes do Integration Services serão armazenados.
    1. Tarefa 3: Determinar o numero de servidores para o SSIS.
    1. Tarefa 4: Determinar a localização.
  1. Desenhar a infraestrutura do SQL Server Analysis Services
    1. Tarefa 1: Determinar os requerimentos.
      1. SSAS utiliza bases de dados OLAP, ou cubos, armazenados no sistema de arquivos.
      2. Processamento da base de dados OLAP realiza muita leitura/escrita.
      3. Grupo de produto recomenda 4 – 8 GB de memoria por core de processador.
    1. Tarefa 2: Determinar a versão do SQL Server.
    2. Tarefa 3: Determinar se as bases de dados serão escaláveis e compartilhadas.
    3. Tarefa 4: Determinar os requisitos para escalonamento
    4. Tarefa 5: Determinar se será em cluster
    5. Tarefa 6: Determinar a localização.
  1. Desenhar a infraestrutura do Reporting Services.
    1. Tarefa 1: Determinar os requerimentos
      1. Discos de storage para as bases do SSRS
      1. Memoria: 2 – 4 GB por core.
    1. Tarefa 2: Determinar a localização das bases de dados do Reporting Services.
      1. As bases de dados podem ser colocadas ou no servidor de Reporting Services ou em servidor remoto.
    1. Determinar a abordagem de tolerância a falha e escalonamento.
      1. Load Balance tanto para escalonamento quanto tolerância a falha.
      1. Cluster para as bases de dados
  1. Desenhar a infraestrutura para o SQL Server Master Data Services.
    1. Tarefa 1: Determinar os recursos.
    1. Tarefa 2: Determinar a abordagem para tolerância a falha e escalonamento.
    1. Tarefa 3: Determinar a localização das bases de dados do Master Data Services.
    1. Tarefa 4: Determinar a localização do Web server do Master Data Services.

MCM – Pre Reading list

Ola Pessoal,

Para iniciarmos nosso ano bem, vou colocar a lista de pre-leitura do MCM. Façam bom proveito.

Atualizado a lista de leitura. Robert Davis (Twitter| Blog) passou a lista correta e que também possui muito mais recursos disponíveis.

http://www.microsoft.com/learning/en/us/certification/master-sql-path.aspx#mcm-microsoft-sql-server-2008-readiness

Att,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

Exportando planos de manutenção

Estava configurando um ambiente de alta disponibilidade e precisa recriar todos os planos de manutenção no outro servidor, mas recriar na mão seria um trabalho árduo, então para criamos os planos no outro lado vamos as seguintes configurações.

1) Conecte na instancia do Integration Services

2) Faça o seguinte caminho: Stored Packages -> MSDB -> Maintenance Plans

Conforme mostra a figura clique sobre o pacote desejado e vá na opção “Export Package”.

3) Após isso a tela abaixo ira aparecer.

Voce deve se conectar no servidor para a qual deseja exportar os pacotes, clicar em “Package Path” e selecionar o mesmo caminho dentro de SSIS Packages.

Feito isso os jobs aparecerão para voce no outro servidor, porem um detalhe importante é que os jobs do SQL Server Agent nao sao exportados. Nada adianta ter exportado os pacotes e ter que criar os jobs tudo na mao.

Pesquisando por ai, encontrei um script em powershell  feito por Enrique Puig Nouselles (SolidQ – Blog) para gerar o codigos dos jobs. Para configurar o script voce deve se atentar a dois parametros dentro do script.

1) $server = ‘localhost’ <- Servidor SQL Server
2) $outputPath = ‘C:\Temp\Script_Jobs.txt’ <- Onde deverá criar o arquivo

Feito a execução o arquivo ira aparecer onde voce predefiniu o caminho.

Agora é só executar o mesmo no outro servidor e pronto, tudo estará criado.

O script powershell pode ser baixado aqui.

Por hoje é isso, espero que tenham gostado.

Att,
Marcos Freccia
MCITP SQL Server 2008

Dicas para a prova 70-450

Ola Pessoal,

Fiz mais um post na comunidade MCITPSC, falando sobre a prova para Database Administrator. O link é esse: http://mcitpsc.com.br/?p=683 e vale a pena a leitura.

Atenciosamente,
Marcos Freccia

MCITP SQL Server 2008 Database Administrator

Hey Guys…

As you know today I’ve passed in 70-450 and now I am a MCITP SQL Server 2008 Database Administrator, i need to confess that, this exam was so difficult and totally different of MCTS. The mostly impression about this exam is now you really need to know the product and apply what you have been doing along the years. So, I won’t to talk more because I’ll make a post about what you need to study and get more focus.

Regards,
Marcos Freccia
MCITP SQL Server 2008 Database Administrator
MCTS SQL Server Database Development

Server is in script upgrade mode

If one day you see this message above when you try to login in SQL Server, you don’t need to care about it. This message can appear i think just in a very specific moment when you update the SQL Server service pack, yep, that is you are reading. After you update the SQL Server pack, i.e. SP1-> SP2. After you update, if you try to access the SQL Server instance it won’t be possible for a few seconds, because in background SQL Server are creating new system stored procedures, system management views and so on, and you can confirm that just going into SQL Server errorlog and seeing what SQL Server is doing at this moment.

Regards,
Marcos Freccia