2016-09-25 40 views

回答

0

首先,标签“初始大小”是有点可惜,因为它是相当实际的尺寸 - 见this blog article

话虽这么说,你可以尝试这样的事情

$db = Get-SqlDatabase YourDBName 

# Size of files of primary group 
$db.FileGroups['Primary'].Files | 
    Select-Object -Property Name, @{N = 'Size'; E = { $_.Size/1KB }} 

# Size of log files 
$db.LogFiles | 
    Select-Object -Property Name, @{N = 'Size'; E = { $_.Size/1KB }} 

有关我的家庭实验室测试数据库这个看上去像这样

PS> $db.FileGroups['Primary'].Files | 
     Select-Object -Property Name, @{N = 'Size'; E = { $_.Size/1KB }} 

Name Size 
---- ---- 
AXDB 12408 
AXDB_2 50 

PS> $db.LogFiles | 
     Select-Object -Property Name, @{N = 'Size'; E = { $_.Size/1KB }} 

Name  Size 
----  ---- 
AXDB_log 5448 

SSMS

+0

嗨,感谢您的回复。 根据你提到的博客文章,有一些“初始大小”(我认为从现在开始称它为“最小大小”更好),它只存储在其他位置,而不是存储在数据库属性。 我仍然想通过PowerShell来获取这个值。 – GKman

+0

那么恕我直言,你应该开始另一个问题,因为你最初请求的属性被上面的PowerShell代码检索 - 但说实话,我不认为有一个很好的和简单的方法来通过内置的PowerShell cmdlet因为您甚至必须使用'DBCC'命令从页眉中获取信息。然而,也许别人有需要也得到它,并为它建立了一些东西,所以也许你很幸运并得到解决方案:) – DAXaholic