如何获取PowerShell SQLPS中的初始数据库大小?
几天来,我一直在研究如何通过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 |
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
命令从页眉中获取信息。然而,也许其他人也需要得到它,并为它构建了一些东西,所以也许你是幸运的,并得到了一个解决方案:)