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

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.

Este post foi publicado em Dicas, Material de Apoio, Scripts, SQL Server, VIRTUAL PASS BR e marcado com a tag , , , , em por .

Sobre Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Mestre em Ciências Ambientes na linha de pesquisa em Geoprocessamento e Modelagem Matemática pela Universidade Estadual Paulista "Júlio de Mesquita Filho". 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. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação pela Uninove – Campus São Roque. 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 1994 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, entre outros recursos. 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. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping, etc. Trabalhei entre 2011 e 2017 como Administrador de Banco de Dados e Coordenador de TI no FIT – Instituto de Tecnologia da Flextronics, atualmente exerço a função de Professor Universitário na FATEC São Roque. CTO da Galvão Tecnologia, consultoria especializada em Gestão de TI, Administração de Servidores Windows Server, Bancos de Dados Microsoft SQL Server e Virtualização. Possuo titulação Oficial Microsoft MVP e reconhecimentos: MCC, MSTC, MIE e MTAC.

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

Os comentários estão desativados.