SQL Server中聚合歷史備份信息對(duì)比數(shù)據(jù)庫(kù)增長(zhǎng)的方法
很多時(shí)候,在我們規(guī)劃SQL Server數(shù)據(jù)庫(kù)的空間,或向存儲(chǔ)方面要空間時(shí),都需要估算所需申請(qǐng)數(shù)據(jù)庫(kù)空間的大小,估計(jì)未來最簡(jiǎn)單的辦法就是看過去的趨勢(shì),這通常也是最合理的方式。
通常來講,一個(gè)運(yùn)維良好的數(shù)據(jù)庫(kù)都需要做定期基線(baseline),有了基線才會(huì)知道什么是正常。一個(gè)簡(jiǎn)單的例子例如,一些人的血壓平常偏低,那么80的低壓對(duì)他來說就是不正常了。但現(xiàn)實(shí)情況是大多數(shù)系統(tǒng)并沒有采集基線的習(xí)慣,因此在需要規(guī)劃空間想要看歷史增長(zhǎng)時(shí),就沒有過去精確的數(shù)據(jù)了。
一個(gè)解決辦法就是通過查看歷史備份的大小來看過去的數(shù)據(jù)增長(zhǎng)趨勢(shì),數(shù)據(jù)庫(kù)備份的時(shí)候不會(huì)備份整個(gè)文件,而只備份在FPS頁中標(biāo)記已經(jīng)分配的頁,可以出現(xiàn)數(shù)據(jù)庫(kù)是20G,但備份只有3G的情況,因此數(shù)據(jù)庫(kù)備份可以作為查看數(shù)據(jù)增長(zhǎng)的依據(jù)。
數(shù)據(jù)庫(kù)在每次備份時(shí)都會(huì)在msdb.dbo.backupset表中記錄備份的相關(guān)信息,因此可以通過下述查看來聚合歷史備份信息,從而對(duì)比數(shù)據(jù)庫(kù)的增長(zhǎng):
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.按月查看歷史數(shù)據(jù)的增長(zhǎng)
結(jié)果如圖1所示。

圖1.歷史數(shù)據(jù)的增長(zhǎng)
其中,代碼清單1中database_name換成你需要查看的數(shù)據(jù)庫(kù)名稱即可。
注:SQL Server 2008之后引入了基于策略的管理,該策略會(huì)默認(rèn)建立一個(gè)作業(yè),如圖2所示,該作業(yè)每天2點(diǎn)運(yùn)行,會(huì)按照策略(歷史記錄保留天數(shù),如圖3所示)清理過期的歷史記錄。

圖2.查看策略管理

圖3.歷史記錄保留天數(shù),默認(rèn)為0,既永不清理
該策略會(huì)對(duì)應(yīng)建立一個(gè)作業(yè)(如圖4所示)。

圖4.清理歷史記錄的作業(yè)
如果該作業(yè)或人為建立的作業(yè)清除了msdb.dbo.backupset表中的數(shù)據(jù),則代碼清單1中的結(jié)果可能會(huì)受到一定影響。
- 找回SQL企業(yè)管理器里的SQL連接的密碼的方法
- sqlserver找回企業(yè)管理器的方法
- sql server 2005數(shù)據(jù)庫(kù)備份還原圖文教程
- SQLSERVER數(shù)據(jù)備份文件的分割備份方法
- 如何備份MySQL數(shù)據(jù)庫(kù)
- Linux下自動(dòng)備份MySQL的方法
- MySQL使用命令備份和還原數(shù)據(jù)庫(kù)
- SqlServer備份數(shù)據(jù)庫(kù)的4種方式介紹
- SQL Server遠(yuǎn)程定時(shí)備份數(shù)據(jù)庫(kù)腳本分享
- MySQL備份與恢復(fù)之冷備(1)
- MySQL備份與恢復(fù)之真實(shí)環(huán)境使用冷備(2)
- MySQL備份與恢復(fù)之熱備(3)
- MySQL備份與恢復(fù)之熱拷貝(4)
- MySQL備份與恢復(fù)之保證數(shù)據(jù)一致性(5)
- 企業(yè)管理器備份和還原SQL Server數(shù)據(jù)庫(kù)
相關(guān)文章
SQL?Server數(shù)據(jù)庫(kù)死鎖的原因及處理方法
SQL Server數(shù)據(jù)庫(kù)死鎖是指兩個(gè)或多個(gè)事務(wù)相互等待對(duì)方持有的資源,從而導(dǎo)致它們都無法繼續(xù)執(zhí)行的情況,下面這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫(kù)死鎖的原因及處理方法,需要的朋友可以參考下2024-08-08
SQLServer EVENTDATA()函數(shù)來獲取DDL 觸發(fā)器信息
SQL Server 2005/2008中可以使用EVENTDATA函數(shù)來獲取DDL觸發(fā)器的上下文,從而在ROLLBACK之前截獲DDL信息。EVENTDATA返回XML字段,下面的例子顯示如何截獲Drop Table的DDL信息。2009-07-07
SQL查詢連續(xù)登陸7天以上的用戶的方法實(shí)現(xiàn)
本文主要介紹了SQL查詢連續(xù)登陸7天以上的用戶的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
基于SQL Server OS的任務(wù)調(diào)度機(jī)制詳解
本篇文章小編為大家介紹,基于SQL Server OS的任務(wù)調(diào)度機(jī)制詳解。需要的朋友參考下2013-04-04
SQL?Server修改數(shù)據(jù)的幾種語句詳解
在SQL中的基本操作就是增刪改查,查詢語句不會(huì)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改,下面這篇文章主要給大家介紹了關(guān)于SQL?Server修改數(shù)據(jù)的幾種語句,需要的朋友可以參考下2022-10-10
Linux環(huán)境中使用BIEE 連接SQLServer業(yè)務(wù)數(shù)據(jù)源
biee11g默認(rèn)安裝了mssqlserver的數(shù)據(jù)驅(qū)動(dòng),不需要在服務(wù)器端進(jìn)行重新安裝,配置過程主要基于ODBC實(shí)現(xiàn),本文主要介紹客戶端為windows、服務(wù)端為linux系統(tǒng)的配置過程。2014-07-07

