J'écris un script PowerShell pour capturer les compteurs SQL Server suivants:
SQL Server: Gestionnaire de mémoire: mémoire totale du serveur (Ko)
SQL Server: Gestionnaire de mémoire: mémoire du serveur cible (Ko)
Ma machine dispose de 3 instances de serveurs SQL, je souhaite donc que ce script capture dynamiquement tous les compteurs et rapporte la valeur pour 1 échantillon uniquement. j'ai essayé d'écrire ce qui suit:
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
finalement, je veux exécuter cela sur plusieurs serveurs avec -computername
paramètre et donc je veux qu'il capture dynamiquement.
Quelqu'un peut-il m'aider à trouver ce qui manque? Voici le script exact que j'exécute:
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)
}
Merci d'avance