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.
Show este script meu amigo!!
CurtirCurtir
Jefferson, boa tarde.
Cara valeu mesmo, espero que tenha gostado.
Até mais.
CurtirCurtir