Dbatools
使用 DBATools 獲取所有數據庫的總大小
使用 DBATools,是否有推薦的方法來獲取給定伺服器的所有 DB 的總大小?
Get-DbaDatabase $Server | Measure-Object -Sum SizeMb
您可以使用 Get-DbaDatabase,如另一個答案中所述,但我喜歡使用Get-DbaDbSpace來獲取各個數據庫文件的詳細資訊,包括文件大小、可用空間、使用百分比等。
本文詳細介紹了此函式的一些範例,但獲取實例上所有數據庫的總數據和日誌文件大小的基本範例是:
Get-DbaDbSpace -SqlInstance $ServerInstance | Select-Object -Property Database, @{ Name = 'FileSizeMB'; Expression = { $_.FileSize.Megabyte } | Measure-Object -Sum FileSizeMB
或者可能簡化為:
Get-DbaDbSpace -SqlInstance $ServerInstance | Measure-Object -Sum $_.FileSize.Megabyte
Get-DbaDbSize 的好處是各種大小和空間欄位實際上是大小從字節到 TB 表示的對象,因此您可以輕鬆地以最適合您的平均 DB 大小的表示形式返回數據。