要獲得所有的數據庫及其初始大小,通過PowerShell的,在某些情況下,你可以使用這個:
Import-Module SQLPS -DisableNameChecking
$instance = 'SERVER\INSTANCE'
$results = @()
try {
$sqlres = Invoke-SQLcmd -Server $instance -Database master 'SELECT [name],(size * 8/1024) InitialSize FROM sys.master_files WHERE [type] = 1'
ForEach($st in $sqlres) {
$dbinfo = @{
Name = $st.Name
InitialSize = $st.InitialSize
}
$results += New-Object PSObject -Property $dbinfo
}
} catch {
"error when running Invoke-SQLcmd "+$instance
Write-Host($error)
}
$results | export-csv -Path D:\sql_db_info.csv -NoTypeInformation
這將數據庫名和初始大小寫入D:\sql_db_info.csv
文件。
注意:在查詢中,我使用[type] = 1
來獲取有關LOG文件的信息,如果您需要ROWS使用[type] = 0
,如果您需要全部 - 刪除WHERE語句。
因此,您需要連接到某個實例,通過PowerShell獲取所有數據庫及其初始大小?你只需要LOG信息,或者ROWS? – gofr1