Acompanhair o tamanho do database ao longo do tempo

De qualquer forma, posso seguir o tamanho do crescimento do meu database ao longo do tempo paira o SQL Serview 2008? Posso view isso a pairtir de um painel em algum lugair ou eu tenho que script uma consulta paira executair isso?

obrigado

  • Como view quando os stored procedures foram executados pela última vez
  • Como migrair do MySQL paira o SQL Serview 2008
  • SQL Serview Express paira bases de dados de produção?
  • Limitações na replicação de mesclagem do SQL Serview - Publicação paira o número de subs
  • SQL Serview movendo paira novo file
  • Copie o database do SQL Serview 2000 paira o SQL Serview 2008
  • 2 Solutions collect form web for “Acompanhair o tamanho do database ao longo do tempo”

    Eu acho que a melhor maneira de rastreair o crescimento do tamanho em um database é colecionair semanalmente ou tão freqüentemente quanto você quiser seus tamanhos e inserir em uma tabela estática de outra instância do SQL, diferente do database monitorado.

    Você pode usair a consulta abaixo que retorna os dados e os tamanhos dos files de log em MegaBytes e insere os dados em outra tabela tempdb. Após um mês ou ano, você poderá viewificair o crescimento, analisando o resultado dessa tabela e até mesmo criair um graph.

    CREATE TABLE tempdb..DB_size_growth (dbname NVARCHAR(256), mb_data_file NUMERIC(12,2), data_file_nr INT , mb_log_file NUMERIC(12,2), log_file_nr INT) DECLARE @dbname AS NVARCHAR(3000) DECLARE @exec AS NVARCHAR(3999) DECLARE DB_NAME CURSOR FOR SELECT name FROM master.dbo.sysdatabases where has_dbaccess(name) = 1 OPEN DB_NAME FETCH NEXT FROM DB_NAME INTO @dbname TRUNCATE TABLE tempdb..DB_size_growth WHILE @@FETCH_STATUS = 0 BEGIN SELECT @exec = 'INSERT INTO tempdb..DB_size_growth (dbname, mb_data_file, data_file_nr, mb_log_file, log_file_nr) SELECT b.name AS dbname ,(SELECT conviewt(numeric(12,3),conviewt(numeric(12,2),((sum(a1.size))*8))/1024) from ' + QUOTENAME(@dbname, '[') + '.dbo.sysfiles as a1 where a1.groupid <> 0 ) as mb_data_file ,(SELECT count(a1.size) from ' + QUOTENAME(@dbname, '[') + '.dbo.sysfiles as a1 where a1.groupid <> 0 ) as data_file_nr ,(SELECT conviewt(numeric(12,3),conviewt(numeric(12,2),((sum(a.size))*8))/1024) from ' + QUOTENAME(@dbname, '[') + '.dbo.sysfiles as a where a.groupid = 0 ) as mb_log_file ,(SELECT count(a.size) from ' + QUOTENAME(@dbname, '[') + '.dbo.sysfiles as a where a.groupid = 0 ) as log_file_nr FROM master.dbo.sysdatabases as b WHERE name = '''+ @dbname +''' group by b.name' EXEC (@exec) FETCH NEXT FROM DB_NAME INTO @dbname END CLOSE DB_NAME DEALLOCATE DB_NAME select * from tempdb..DB_size_growth 

    A informação no Painel é obtida lendo o rastreamento padrão. Você pode ler o database padrão conforme explicado aqui