Monitorar o crescimento do banco de dados é um fator chave no planejamento dos recursos de um servidor. Use este script e crie um relatório de crescimento de banco de dados fácil de entender
Por que você precisa monitorar o crescimento do banco de dados
Se você é um administrador de banco de dados SQL e não está tendo “SQL Server planejamento de capacidade de banco de dados” em sua lista de tarefas principais, então você pode ter certeza de que os bancos de dados em seu servidor preencherão seu espaço em disco em breve. Rastrear o tamanho e o crescimento dos bancos de dados SQL é uma das principais tarefas do planejamento de capacidade. Isso também garante que haja espaço suficiente em disco para o crescimento de seus bancos de dados.
Faça você mesmo via SQL Script e Excel
Neste artigo, usaremos SQL e Excel para capturar o tamanho dos bancos de dados SQL junto com o padrão. Isso nos permitirá planejar os requisitos de espaço iminentes e também nos ajudará a entender a linha do tempo durante a qual há um grande volume.
Este processo é subdividido em quatro etapas diferentes para que você possa seguir sem problemas.
Passo 1: Execute este script em uma nova janela de consulta.
A saída terá nomes de banco de dados como cabeçalhos de linha e Mês como cabeçalhos de coluna. Os valores mostrados na saída são o tamanho do banco de dados em GB.
declare @v_count as integer, @do_count as integer, @v_month as varchar(20),@sql as varchar(5000) create table [t_databases] ( Database_Name varchar(200), January float(3), February float(3), March float(3), April float(3), May float(3), June float(3), July float(3), August float(3), September float(3), October float(3), November float(3), December float(3), ) create table t_databases_gateway ( Database_Name varchar(200), Database_Size float(3) ) set @v_count = (select COUNT(*) from t_databases ) if @v_count = 0 begin insert into t_databases(Database_Name) select name from sysdatabases end if @v_count <> 0 begin --this script captures the size of all databases. You can add a where clause to capture the size of specific database name INSERT t_databases (Database_Name) SELECT DISTINCT Name FROM sysdatabases cr LEFT JOIN t_databases c ON cr.Name = c.Database_Name WHERE c.Database_Name IS NULL end --select * from master.dbo.t_databases --drop table t_databases set @do_count = 1 while (@do_count <=12) begin set @v_month = DATENAME(m, str(@do_count) + '/1/2016') –change the year to 2017 or other year as per your requirement truncate table master.dbo.t_databases_gateway insert into master.dbo.t_databases_gateway select distinct (msdb.dbo.backupset.[database_name]),max(msdb.dbo.backupset.[Backup_Size]/1073741824) from msdb.dbo.backupset inner join master.dbo.t_databases on msdb.dbo.backupset.[database_name] = master.dbo.t_databases.[Database_Name] where datepart(m,msdb.dbo.backupset.[backup_finish_date]) = @do_count and datepart(yyyy,msdb.dbo.backupset.[backup_finish_date] ) = 2015 group by msdb.dbo.backupset.[database_name] set @sql = 'update master.dbo.t_databases set ' + @v_month + ' = (select Database_Size from master.dbo.t_databases_gateway where master.dbo.t_databases.Database_Name = master.dbo.t_databases_gateway.Database_Name)' exec (@sql) set @do_count = @do_count + 1 end select * from t_databases drop table t_databases_gateway drop table t_databases
Saída:
Etapa 2: crie uma nova instância do Excel e copie a saída da etapa anterior para sua nova planilha do Excel.
Passo 3: Agora selecione as duas primeiras linhas na folha e insira um gráfico de linha 2D.
Isso criará o gráfico de tendências para o banco de dados selecionado. No Gráfico, o Eixo X denotará os meses e o Eixo Y denotará o tamanho do banco de dados em GB.
Etapa 4: selecione todos os dados arrastando o símbolo 'mais' para envolvê-los.
Isso mostrará a tendência de todos os bancos de dados no gráfico.
Se você pular a Etapa 3 e inserir um gráfico de linha 2D selecionando a tabela inteira, ainda obterá um gráfico, mas o eixo X indicará nomes de banco de dados em vez de Mês. Esta não é a saída necessária.
A tabela de saída pode ter alguns valores NULL. Isso acontece porque o histórico de backup do banco de dados pode não ter nenhum registro para o banco de dados daquele mês específico. Também implica que o script se refere ao tamanho do backup na tabela de histórico de backup para rastrear a tendência de crescimento. Se algum de seus bancos de dados não estiver incluído no plano de backup, a tabela de saída ainda conterá o nome do banco de dados, mas os valores para todos os meses serão NULL
Corrigir banco de dados superdimensionado
Se você não seguiu a estratégia acima no passado e seu banco de dados está superdimensionado, isso pode causar vários problemas. Nesse caso, é melhor você encontrar um SQL Server ferramenta de recuperação de arquivos para resolver o problema de forma eficaz e eficiente.
Introdução do autor:
Neil Varley é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar problema do Outlook e produtos de software de recuperação do Excel. Para mais informações visite www.datanumen.com





