Saya menulis skrip PowerShell untuk menangkap penghitung SQL server berikut:
SQL Server: Memory Manager: Total Server Memory (KB)
SQL Server: Memory Manager: Target Server Memory (KB)
Mesin saya memiliki 3 contoh SQL server, jadi saya ingin skrip ini menangkap semua penghitung secara dinamis dan melaporkan nilai untuk 1 sampel saja. Saya mencoba menulis yang berikut ini:
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
akhirnya saya ingin menjalankan ini di beberapa server dengan -computername
parameter dan karenanya saya ingin menangkapnya secara dinamis.
Adakah yang bisa membantu saya menemukan apa yang hilang? Berikut ini adalah skrip persis yang saya jalankan:
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)
}
Terima kasih sebelumnya
sumber
Lihat ini:
Ini akan menampilkan daftar database dan terkait \ Transaksi / dtk. Saya mendapatkan kesalahan di sisi saya pada awal pencarian tetapi saya menganggap itu masalah izin. Kalau tidak, itu bekerja seperti keindahan. Anda bisa menggunakan Regex untuk membersihkannya jika mau :)
sumber