Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wzrost rozmiaru bazy danych SQL Server przy użyciu historii kopii zapasowych

Biodro>

Menedżerowie i klienci często pytają, jaki jest wzrost rozmiaru bazy danych.

Grafika wzrostu rozmiaru bazy danych jest bardzo ważna dla nowego porządku przechowywania. Ponieważ firmy korporacyjne chcą kupować nową pamięć masową za rok lub dwa, a nie co 2-3 miesiące.

Możesz przeanalizować wzrost rozmiaru bazy danych za pomocą historii kopii zapasowych za pomocą następującego skryptu.

DECLARE @startDate datetime;
SET @startDate = GetDate();

SELECT PVT.DatabaseName
, PVT.[0], PVT.[-1], PVT.[-2], PVT.[-3], PVT.[-4], PVT.[-5], PVT.[-6]
, PVT.[-7], PVT.[-8], PVT.[-9], PVT.[-10], PVT.[-11], PVT.[-12]
FROM
(SELECT BS.database_name AS DatabaseName
,DATEDIFF(mm, @startDate, BS.backup_start_date) AS MonthsAgo
,CONVERT(numeric(10, 1), AVG(BF.file_size / 1048576.0)) AS AvgSizeMB
FROM msdb.dbo.backupset as BS
INNER JOIN
msdb.dbo.backupfile AS BF
ON BS.backup_set_id = BF.backup_set_id
WHERE NOT BS.database_name IN
('master', 'msdb', 'model', 'tempdb')
AND BF.[file_type] = 'D'
AND BS.backup_start_date BETWEEN DATEADD(yy, -1, @startDate) AND @startDate
GROUP BY BS.database_name
,DATEDIFF(mm, @startDate, BS.backup_start_date)
) AS BCKSTAT
PIVOT (SUM(BCKSTAT.AvgSizeMB)
FOR BCKSTAT.MonthsAgo IN ([0], [-1], [-2], [-3], [-4], [-5], [-6], [-7], [-8], [-9], [-10], [-11], [-12])
) AS PVT
ORDER BY PVT.DatabaseName;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy możemy przekazać parametry do widoku w SQL?

  2. Jak mogę skrócić datę i godzinę w programie SQL Server?

  3. Skopiuj tabelę do innej bazy danych na innym serwerze SQL

  4. Formatowanie SQL w SQL Server Management Studio

  5. Jak wyświetlić listę wszystkich tabel we wszystkich bazach danych w programie SQL Server w jednym zestawie wyników?