Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tăng trưởng kích thước cơ sở dữ liệu SQL Server bằng lịch sử sao lưu

Xin chào,

Các nhà quản lý và khách hàng thường hỏi về tốc độ tăng trưởng quy mô cơ sở dữ liệu là gì.

Grafic tăng trưởng kích thước cơ sở dữ liệu là rất quan trọng đối với thứ tự lưu trữ mới. Bởi vì các công ty Doanh nghiệp muốn mua bộ nhớ mới trong một hoặc hai năm chứ không phải 2-3 tháng một lần.

Bạn có thể phân tích sự tăng trưởng kích thước cơ sở dữ liệu bằng cách sử dụng lịch sử sao lưu với tập lệnh sau.

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. Việc chuyển đổi kiểu dữ liệu datetime2 thành kiểu dữ liệu datetime dẫn đến giá trị nằm ngoài phạm vi

  2. GROUP BY để kết hợp / nối một cột

  3. Làm thế nào để chuyển đổi số phút sang định dạng hh:mm trong TSQL?

  4. Thay đổi mật khẩu khi đăng nhập SA trong SQL Server (Ví dụ T-SQL)

  5. Chuyển đổi hàng thành cột bằng cách sử dụng 'Pivot' trong SQL Server