找到SQL Server資料庫曆史增長資訊

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   io   os   ar   檔案   

    很多時候,在我們規劃SQL Server資料庫的空間,或向儲存方面要空間時,都需要估算所需申請資料庫空間的大小,估計未來最簡單的辦法就是看過去的趨勢,這通常也是最合理的方式。

    通常來講,一個營運良好的資料庫都需要做定期基準(baseline),有了基準才會知道什麼是正常。一個簡單的例子例如,一些人的血壓平常偏低,那麼80的低壓對他來說就是不正常了。但現實情況是大多數系統並沒有採集基準的習慣,因此在需要規劃空間想要看曆史增長時,就沒有過去精確的資料了。

    一個解決辦法就是通過查看曆史備份的大小來看過去的資料增長趨勢,Database Backup的時候不會備份整個檔案,而只備份在FPS頁中標記已經分配的頁,可以出現資料庫是20G,但備份只有3G的情況,因此Database Backup可以作為查看資料增長的依據。

    資料庫在每次備份時都會在msdb.dbo.backupset表中記錄備份的相關資訊,因此可以通過下述查看來彙總曆史備份資訊,從而對比資料庫的增長:

SELECT
[database_name] AS "Database",
DATEPART(month,[backup_start_date]) AS "Month",
AVG([backup_size]/1024/1024) AS "Backup Size MB"
FROM msdb.dbo.backupset
WHERE
[database_name] = N‘Adventureworks2012‘
AND [type] = ‘D‘
GROUP BY [database_name],DATEPART(mm,[backup_start_date]);

代碼清單1.按月查看曆史資料的增長

 

    結果1所示。

圖1.曆史資料的增長

 

   其中,代碼清單1中database_name換成你需要查看的資料庫名稱即可。

 

   註:SQL Server 2008之後引入了原則式管理,該策略會預設建立一個作業,2所示,該作業每天2點運行,會按照策略(記錄保留天數,3所示)清理到期的記錄。

   

    圖2.查看策略管理

 

   

    圖3.記錄保留天數,預設為0,既永不清理

 

    該策略會對應建立一個作業(4所示)。

   

    圖4.清理記錄的作業

 

    如果該作業或人為建立的作業清除了msdb.dbo.backupset表中的資料,則代碼清單1中的結果可能會受到一定影響。

找到SQL Server資料庫曆史增長資訊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.