次のSQLサーバーカウンターをキャプチャするPowerShellスクリプトを書いています。
SQL Server:メモリマネージャー:合計サーバーメモリ(KB)
SQL Server:メモリマネージャー:ターゲットサーバーのメモリ(KB)
私のマシンにはSQLサーバーの3つのインスタンスがあるため、このスクリプトですべてのカウンターを動的にキャプチャし、1つのサンプルの値のみを報告します。私は以下を書いてみました:
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
最終的には、これを-computername
パラメーター付きで複数のサーバー間で実行したいので、動的にキャプチャーしたいと思います。
誰かが欠けているものを見つけるのを手伝ってくれませんか?以下は、私が実行している正確なスクリプトです。
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)
}
前もって感謝します