다음 SQL Server 카운터를 캡처하기 위해 powershell 스크립트를 작성 중입니다.
SQL Server : 메모리 관리자 : 전체 서버 메모리 (KB)
SQL Server : 메모리 관리자 : 대상 서버 메모리 (KB)
내 컴퓨터에는 3 개의 SQL 서버 인스턴스가 있으므로이 스크립트가 모든 카운터를 동적으로 캡처하고 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)
}
미리 감사드립니다