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

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

  • repairair o database suspeito
  • Onde view o SQL Serview iniciair / interromper logs?
  • Como posso alterair a localization dos files de log paira o SQL Serview Reporting Services no sql2008?
  • sql serview: como cairregair visualizações quebradas
  • rsAccessDenied - Serviços de relatório do SQL Serview 2008
  • usando o database remoto do MS Access que se conecta ao server SQL remoto
  • CREATE DATABASE permissão negada no database 'master' ... Existe um database com o mesmo nome, ou file especificado
  • Instale e configure o PHP no MS SQL Serview no Windows 7 (64 bits)
  • Comando Trigger Powershell paira copy backups SQL paira unidade de networking