如何获取PowerShell SQLPS中的初始数据库大小?

如何获取PowerShell SQLPS中的初始数据库大小?,sql,sql-server,powershell,sqlps,Sql,Sql Server,Powershell,Sqlps,几天来,我一直在研究如何通过PowerShell SQLPS模块获取数据库及其日志文件的初始大小。由于某些未知原因,此信息未包含在从Get SqlDatabase命令返回的对象的属性中 感谢您的帮助。首先,标签“初始尺寸”有点不幸,因为它是实际尺寸-请参阅 话虽如此,你可以试试这样的东西 $db = Get-SqlDatabase YourDBName # Size of files of primary group $db.FileGroups['Primary'].Files |

几天来,我一直在研究如何通过PowerShell SQLPS模块获取数据库及其日志文件的初始大小。由于某些未知原因,此信息未包含在从
Get SqlDatabase
命令返回的对象的属性中


感谢您的帮助。

首先,标签“初始尺寸”有点不幸,因为它是实际尺寸-请参阅

话虽如此,你可以试试这样的东西

$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获取此值。那么,我想您应该如何开始另一个问题,因为您最初请求的属性是由上面的powershell代码检索的-但老实说,我不认为有一种通过内置powershell cmdlet获取此值的好方法和简单方法,因为您甚至必须使用
DBCC
命令从页眉中获取信息。然而,也许其他人也需要得到它,并为它构建了一些东西,所以也许你是幸运的,并得到了一个解决方案:)