Sto scrivendo uno script PowerShell per acquisire i seguenti contatori del server SQL:
SQL Server: Memory Manager: Total Server Memory (KB)
SQL Server: Memory Manager: Target Server Memory (KB)
La mia macchina ha 3 istanze di server SQL, quindi voglio che questo script acquisisca tutti i contatori in modo dinamico e riporti il valore solo per 1 campione. ho provato a scrivere quanto segue:
Get-counter -List *SQL*Memory* | Select paths, counter | format-list # doesn't display full list
Get-counter -List *SQL*Memory* | Select paths, counter | where {_.counter -like "*server memory*"} |format-list # displays nothing
alla fine voglio eseguire questo su più server con -computername
parametro e quindi voglio che acquisisca in modo dinamico.
Qualcuno può aiutarmi a trovare ciò che manca? Di seguito è riportato lo script esatto che sto eseguendo:
Function checkTransactionsPerSecond([string] $Hostname )
{
(Get-Counter -ListSet "*Databases").Counter | Where {$_ -like "*\Transactions/sec"} #this returns nothing
# $listofmetrics = (Get-Counter -ListSet "*Databases").Counter | Where {$_ -like "*\Transactions/sec"}
# $listofmetrics | Get-Counter
}
clear
foreach ($Hostname in Get-Content "D:\TEMP\machines.txt")
{
Write-Host $Hostname
checkTransactionsPerSecond($Hostname)
}
Grazie in anticipo