Merhaba arkadaşlar,uzun bir süredir iş ve okul yoğunluğum nedeniyle yazamamıştım. Powershell üzerine daha önceden bir birkaç yazım vardı.
Bkz :
Bugünki örnekte, Powershell kullanarak .txt dosyası içinde bulunan sunuculardaki SQL Server versiyonunu ve CPU Basıncını ölçen bir script bloğu göreceğiz.
Bunun için C:\ dizini altında HealthChecksV2 adında bir klasör oluşturdum ve altına Scripts isminde bir klasör oluşturarak içine Version.sql ve CPU_Pressure.sql scriptlerini yerleştirdim.
Daha sonrasında ise C:\HealthChecksV2 dizini altına DBList.txt ve Minichecks.ps1 scriptini koydum.
Bkz :
- Powershell ile Cookie Temizliği
- Powershell ile Windows'ta Yüklü Programları Listelemek
- Powershell ile Windows Restart Kontrolü
Bugünki örnekte, Powershell kullanarak .txt dosyası içinde bulunan sunuculardaki SQL Server versiyonunu ve CPU Basıncını ölçen bir script bloğu göreceğiz.
Bunun için C:\ dizini altında HealthChecksV2 adında bir klasör oluşturdum ve altına Scripts isminde bir klasör oluşturarak içine Version.sql ve CPU_Pressure.sql scriptlerini yerleştirdim.
Daha sonrasında ise C:\HealthChecksV2 dizini altına DBList.txt ve Minichecks.ps1 scriptini koydum.
Bu işlemleri yaptıktan sonra, Powershell konsolunu açıp MiniCheck.ps1 scriptini çalıştırmak yeterli olacaktır. DBList.txt dosyasına istediğiniz sunucu ismini yazıp uzaktaki SQL Serverların da versiyonlarını öğrenebilirsiniz.(Network ve Credential'ları unutmayın:) )
MiniCheck Powershell Blok
foreach ($svr in get-content "C:\HealthChecksV2\DBList.txt") { Write-Host $svr -BackgroundColor Yellow -ForegroundColor Red $result = Invoke-Sqlcmd -ServerInstance $svr -InputFile C:\HealthChecksV2\Scripts\Version.sql $result | Format-Table $result = Invoke-Sqlcmd -ServerInstance $svr -InputFile C:\HealthChecksV2\Scripts\CPU_Pressure.sql $result | Format-Table }
CPU Pressure SQL Blok
/******************************************************************** Filename: CPU_Pressure.sql Author: https://technet.microsoft.com/en-us/magazine/dn383732.aspx Date: 09/09/15 Comments: Calculates signal waits and resource waits as a percentage of the overall wait time, in order to diagnose potential CPU pressure. Revisions: ********************************************************************/ SET NOCOUNT ON; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT '% Signal (CPU) Waits' = CAST(100.0 * SUM(signal_wait_time_ms) / SUM (wait_time_ms) AS NUMERIC(20,2)) ,'% Resource Waits' = CAST(100.0 * SUM(wait_time_ms - signal_wait_time_ms) / SUM (wait_time_ms) AS NUMERIC(20,2)) FROM sys.dm_os_wait_stats;
Version SQL Blok
Select @@Version as Version
Yorumlar
Yorum Gönder