SQL Server中如何找到歷史增長資訊
很多時候,在我們規劃SQL Server資料庫的空間,或向儲存方面要空間時,都需要估算所需申請資料庫空間的大小,估計未來最簡單的辦法就是看過去的趨勢,這通常也是最合理的方式。
通常來講,一個運維良好的資料庫都需要做定期基線(baseline),有了基線才會知道什麼是正常。一個簡單的例子例如,一些人的血壓平常偏低,那麼80的低壓對他來說就是不正常了。但現實情況是大多數系統並沒有採集基線的習慣,因此在需要規劃空間想要看歷史增長時,就沒有過去精確的資料了。
一個解決辦法就是通過檢視歷史備份的大小來看過去的資料增長趨勢,資料庫備份的時候不會備份整個檔案,而只備份在FPS頁中標記已經分配的頁,可以出現資料庫是20G,但備份只有3G的情況,因此資料庫備份可以作為檢視資料增長的依據。
資料庫在每次備份時都會在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 查詢歷史執行的SQL語句SQLServer
- 查詢SQL Server的歷史執行記錄SQLServer
- 使用SQL SERVER儲存過程實現歷史資料遷移SQLServer儲存過程
- SQL Server資料檔案增長檢測(三)RFSQLServer
- SQL Server資料檔案增長檢測(一)FMSQLServer
- SQL Server 更新統計資訊SQLServer
- Oracle檢視歷史TOP SQLOracleSQL
- 騰訊的歷史
- SQL Server中事務日誌自動增長對效能的影響(下)PGSQLServer
- SQL Server中事務日誌自動增長對效能的影響(上)OSSQLServer
- SQL Server中的版本號如何理解SQLServer
- 基於Git rebase修改歷史提交資訊Git
- 經歷挫折的Playtika,如何重返增長渠道?
- SQL Server通過建立臨時表遍歷更新資料SQLServer
- SQL Server 資料太多如何最佳化SQLServer
- 清除 GitHub 歷史記錄的隱私資訊Github
- Oracle錶的歷史統計資訊檢視Oracle
- TrendForce:2020年7月電視皮膚報價增長創歷史新高
- 如何修剪git reflog歷史Git
- sql server如何刪除前1000行資料SQLServer
- 在SQL Server上測試事務日誌的自動增長(三)QOSQLServer
- 在SQL Server上測試事務日誌的自動增長(二)TGSQLServer
- 在SQL Server上測試事務日誌的自動增長(一)JPSQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- 站在歷史的長河中做農活
- 營收、利潤雙增長,龍湖集團找到多元增長的答案?營收
- 中國歷史(2)明朝276年曆史
- 中國歷史(5)唐朝289年曆史
- 中國歷史(4)宋朝319年曆史
- 中國歷史(3)元朝98年曆史
- 中國歷史(6)唐朝289年曆史
- SQL Server如何判斷哪些會話/連線是長連線?SQLServer會話
- SQL Server中提前找到隱式轉換提升效能的辦法SQLServer
- SQL Server中GROUP BY(連結)SQLServer
- [20180322]檢視統計資訊的儲存歷史.txt
- 如何建立和還原SQL Server 2000資料庫?SQLServer資料庫
- 如何建立和還原SQL Server 2005資料庫?SQLServer資料庫
- .sql檔案匯入到sql server中SQLServer