psTerminalPerfCounter – Performance Counter in Terminal – HowTo

Hands-on with psTerminalPerfCounter: monitor Windows Performance Counters in the terminal, including a TUI, multi-server monitoring, and CSV/HTML export.

June 14, 2026 · 6 min · Gabriel Köhl

Windows Performance Counters: How the OS Monitors Itself

Performance counters have been an integral part of the operating system since Windows NT 3.1. In this article I briefly explain how the system works internally, why counter names are language-dependent and how my PowerShell module psTerminalPerfCounter solves exactly that problem.

June 14, 2026 · 5 min · Gabriel Köhl
Sql Server HA Cluster Deployment

Automate SQL Server HA: AD, SPN, and Cluster Setup

Production-Ready Windows Cluster Deployment: Automation of Failover Cluster, gMSA, Kerberos and local rights via PowerShell.

February 6, 2026 · 7 min · Gabriel Köhl

psTerminalPerfCounter – SpeedUp your Performance Counters in Terminal

Visualize Windows Performance Counters directly in terminal with psTerminalPerfCounter. Language-independent templates, maximum customization. Perfect for quick AdHoc monitoring.

July 26, 2025 · 4 min · Gabriel Köhl
DISK Latency LOGO

Measuring SQL Server Disk Latency Correctly – snapDiskLatency

How to get correct SQL Server Disk Latency values instead of falsified DMV data. Open Source snapDiskLatency solution for long-term analysis.

July 17, 2025 · 5 min · Gabriel Köhl
PowerShell meets Classes

PowerShell Classes for Beginners – Structured Code Instead of Function Chaos

Intro I’ve always used PowerShell following the same pattern, that’s roughly how my learning path followed the PowerShell Best Practices. I’ve been operating on these last two levels for quite a long time now, of course getting more efficient and generally my PowerShell knowledge became broader. During this development, however, I noticed a problem: I’m

June 14, 2025 · 13 min · Gabriel Köhl
Truncate vs. Delete

TRUNCATE TABLE – DDL vs DML – deep dive in operations and practical tips

Recently, I stumbled across a LinkedIn post about truncate vs. delete, just like many others out there. Typically, random members post simple SQL Server tips, nicely packaged in graphics and kept general. Although for beginners this is absolutely legitimate – since these simple entry points can help many newcomers understand and provide a great starting

May 26, 2025 · 13 min · Gabriel Köhl
SCHEMA NAME

SysAdmin Role ignores the Default User Schema – A confusing story

Today I had another call on my desk where an error message from an application stated that an object in the Sql Server DB couldn’t be accessed. The vendor claimed „connection problem“, I said „DB or at least server problem“, customer says „everything used to work before“. The Extended Events were quickly set up, „Remote

May 8, 2025 · 2 min · Gabriel Köhl
Reporting Sql Server Deadlocks & Blocks

Reporting Blocks and Deadlocks: When the 3rd-Party Vendor Demands Evidence

Knowing that SQL Server has blocking or deadlock problems is still quite easy. You usually notice this in the application, and with the right queries, you can also display the corresponding blocking chains. The simplest way to do this is with http://whoisactive.com. I also have a custom development that I will present in a later

April 28, 2025 · 6 min · Gabriel Köhl