Dica – Descobrindo informações sobre o crescimento de Banco de Dados no SQL Server 2008 e SQL Server 2008 R2.

Dica – Descobrindo informações sobre o crescimento de Banco de Dados no SQL Server 2008 e SQL Server 2008 R2.

Anúncios

Pessoal, bom dia!

 

Tudo bem? Mais uma semana começando e estou de volta com mais uma dica.

 

A dica de hoje tem o objetivo de demonstrar como podemos de forma rápida e fácil descobrir as informações sobre o crescimento de seus bancos de dados armazenados no SQL Server 2008 e SQL Server 2008 R2.

Como todos sabem cada banco de dados tem no mínimo dois arquivos, um arquivo primário e um arquivo de log de transações, e pelo menos um grupo de arquivos. Um máximo de 32.767 arquivos e 32.767 grupos de arquivos pode ser especificado para cada banco de dados.

Normalmente durante a criação de um simples banco de dados não se preocupamos com parâmetro e configurações que podem impactar no ciclo de vida dos nossos dados, como também do próprio catálogo, uma destas configurações ao qual me refiro é o Fator e Taxa de crescimento do(s) Arquivo(s) de Log(s).

 

Com base no código apresentado nesta dica, conseguiremos obter estas informações e analisar quais poderiam ser as alterações necessárias para nosso ambiente.

 

Abaixo apresente o Código 1:

 

SELECT rtrim(sd.name) as DBName,

             rtrim(saf.name) AS FileName,

             rtrim(saf.filename) FilePath,

             saf.size*1.0/128 AS FileSizeinMB,

            CASE saf.maxsize

              WHEN 0 THEN ‘Autogrowth is off.’

              WHEN -1 THEN ‘Autogrowth is on.’

            ELSE ‘Log file will grow to a maximum size of 2 TB.’

            END AutogrowthStatus,

            saf.growth AS ‘GrowthValue’,

            ‘GrowthIncrement’ =

            CASE

             WHEN saf.growth = 0 THEN ‘Size is fixed and will not grow.’

             WHEN saf.growth > 0 THEN ‘Growth value is in 8-KB pages.’

             ELSE ‘Growth value is a percentage.’

            END

 FROM master..sysaltfiles saf Inner Join master..sysdatabases sd

                                                     On saf.dbid = sd.dbid

 

Neste código estou utilizando duas das principais Tabelas de Sistema existentes no Banco de Dados Master desde a versão 2000 do  Microsoft SQL Server, sendo elas:

 

  • sys.sysaltfiles: Apresenta uma linha correspondente a cada banco de dados.
  • sys.databases: Apresenta uma linha correspondente a cada banco de dados.

 

O segredo deste código encontra-se nos dois comandos Case, utilizados para fazer a análise condicional de acordo com os valores armazenados em cada coluna MaxSize e Growth retornando de forma personalizada o resultado, o que pode ajudar em muito na análise.

 

Parte do código utilizada na análise e verificação do Tamanho Máximo do Código e seu Fator de Crescimento:

 

            CASE saf.maxsize

              WHEN 0 THEN ‘Autogrowth is off.’

              WHEN -1 THEN ‘Autogrowth is on.’

            ELSE ‘Log file will grow to a maximum size of 2 TB.’

            END AutogrowthStatus,

            saf.growth AS ‘GrowthValue’,

            ‘GrowthIncrement’ =

            CASE

             WHEN saf.growth = 0 THEN ‘Size is fixed and will not grow.’

             WHEN saf.growth > 0 THEN ‘Growth value is in 8-KB pages.’

             ELSE ‘Growth value is a percentage.’

            END

Para ilustrar um pouco mais o objetivo deste código, apresento abaixo a Figura 1:

Figura 1 – Conjunto de dados apresentados após a execução do Código 1.

Galera, é isso, vou encerrando mais esta dica, espero que todos possam ter gostado e que mais uma vez este código possa ser útil em algum momento.

Um grande abraço agradeço, mais uma vez sua visita.

Encontramos-nos em breve.

Até mais.

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

2 comentários em “Dica – Descobrindo informações sobre o crescimento de Banco de Dados no SQL Server 2008 e SQL Server 2008 R2.”

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s