-1
我一直在搜索如何通过PowerShell SQLPS模块获取数据库及其日志文件的初始大小。由于某些未知原因,此信息未包含在Get-SqlDatabase
命令返回对象的属性中。如何在PowerShell SQLPS中获取初始数据库大小?
感谢您的帮助。
我一直在搜索如何通过PowerShell SQLPS模块获取数据库及其日志文件的初始大小。由于某些未知原因,此信息未包含在Get-SqlDatabase
命令返回对象的属性中。如何在PowerShell SQLPS中获取初始数据库大小?
感谢您的帮助。
首先,标签“初始大小”是有点可惜,因为它是相当实际的尺寸 - 见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
嗨,感谢您的回复。 根据你提到的博客文章,有一些“初始大小”(我认为从现在开始称它为“最小大小”更好),它只存储在其他位置,而不是存储在数据库属性。 我仍然想通过PowerShell来获取这个值。 – GKman
那么恕我直言,你应该开始另一个问题,因为你最初请求的属性被上面的PowerShell代码检索 - 但说实话,我不认为有一个很好的和简单的方法来通过内置的PowerShell cmdlet因为您甚至必须使用'DBCC'命令从页眉中获取信息。然而,也许别人有需要也得到它,并为它建立了一些东西,所以也许你很幸运并得到解决方案:) – DAXaholic