Tag: Performance

  • DBA Scripts: Get Lock Escalation, Contention Analysis, and Blocking Chains with Plan

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Three Different Views of the Same Underlying Problem Blocking Chains shows what’s blocked right now. These three scripts go wider and deeper: Get-LockEscalationStats finds which tables have converted row/page locks into full table locks (a common, self-inflicted cause of blocking), Get-ContentionAnalysis rolls up…

  • DBA Scripts: Performance and Troubleshooting

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Four Ways of Answering “Why Is It Slow” “The database is slow” is rarely one problem. Sometimes it’s a query, a bad plan, a stale statistic. Sometimes it’s blocking, and the fix is completely different depending on which one it actually is. Sometimes…

  • DBA Scripts: Collect Performance Baselines (Wait Stats, Perfmon, Storage I/O)

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Three Cumulative Counters, Three Matching Delta Scripts sys.dm_os_wait_stats, sys.dm_os_performance_counters, and sys.dm_io_virtual_file_stats are all cumulative since the instance last started, a raw snapshot of any of them tells you almost nothing on its own. Three collector generators snapshot each on a schedule, and three…

  • DBA Scripts: Blocking and Locking

    ,

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. “The database is slow” and “the database is blocked” look identical from the outside, timeouts, a frozen application, users complaining, and the fix is completely different depending on which one it actually is. Four scripts on this site cover the full picture: finding…

  • DBA Scripts: Get Open Transactions

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. The Transaction Nobody Remembered to Close An open transaction that never commits or rolls back is one of the quietest ways SQL Server gets into trouble: it holds locks other sessions wait on, it stops the transaction log from truncating, and none of…

  • DBA Scripts: Get Blocking Sessions

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. When Everything Looks Busy But Nothing Is Moving Blocking is one of the most common causes of a SQL Server that suddenly looks frozen. Applications start timing out, users report that everything has stopped responding, and the server itself looks fine, CPU is…

  • DBA Scripts: Get Table Sizes

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Walk onto a new SQL Server instance and the first honest question is usually “where’s all the space going.” Not at the database level, sys.master_files answers that in seconds, but at the table level, inside a database that’s grown for years without anyone…

  • DBA Scripts: Get Query Store Top Queries

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Query Store is SQL Server’s built-in flight recorder for query performance: every query’s plan, runtime stats, and history, retained and queryable without any extra tracing setup. Most instances have had it available since SQL Server 2016, and a surprising number still have it…

  • DBA Scripts: Get Index Design Issues

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. Most index problems aren’t about a single bad index, they’re about a table’s index design as a whole drifting out of shape over time. A table that accumulates 25 indexes because nobody ever removed the old ones. A composite key that grew column…

  • DBA Scripts: Get Implicit Conversions

    🔧Part of the DBA-Tools Project, copy/paste SQL Server scripts and health checks. An implicit conversion is SQL Server quietly changing a data type to compare two values that don’t match, and it’s one of the few performance problems that will not throw an error, will not show up in a slow-query complaint, and will not…