Phil Grayson

I’m Phil Grayson, founder of Aireforge, where we build tools to make database management more efficient, secure, and performance-driven. I’ve been working in the SQL Server space for over 25 years, with a focus on performance tuning, security, and observability. Currently, I’m gearing up to launch dbOptics, a platform designed to simplify database observability and performance tuning across complex estates, as well as Guard, a database firewall set to release next year.

I’m passionate about helping data professionals and organizations get the most out of their database environments. Aireforge has been active in the SQL community since 2016, sponsoring events like Data Relay and SQLBits, and we continue to contribute through knowledge sharing and community-driven events.
  • Interests: SQL Server performance tuning, index management, database security, automation of database tasks, observability and monitoring, knowledge sharing, cloud services, Azure infrastructure, motorcycle touring.

Blogs

Fabric as a Data Mesh Enabler: Rethinking Enterprise Data Distribution

By

For decades, enterprises have approached data management with the same mindset as someone stuffing...

Truncate Table Pitfalls

By

 Truncate Table Pitfalls Truncating a table can be gloriously fast—and spectacularly dangerous when used carelessly....

dataMinds Connect 2025 – Slides & Scripts

By

You can find all the session materials for the presentation “Indexing for Dummies” that...

Read the latest Blogs

Forums

Technological Dinosaurs or Social Dinosaurs?

By Grant Fritchey

Comments posted to this topic are about the item Technological Dinosaurs or Social Dinosaurs?

DBCC CHECKIDENT

By Steve Jones - SSC Editor

Comments posted to this topic are about the item DBCC CHECKIDENT

Distributed Availability Group Health: T-SQL and Zabbix

By Pablo Echeverria

Comments posted to this topic are about the item Distributed Availability Group Health: T-SQL...

Visit the forum

Question of the Day

DBCC CHECKIDENT

What is returned as a result set when I run this command without a new seed value?

See possible answers