Practicing Azure SQL can stay inexpensive with current free offers, serverless auto-pause, budget alerts, and deliberate resource cleanup.
Following a Blocking Chain to the Head Blocker
Follow SQL Server blocking_session_id through a blocking chain, identify the head blocker, and choose a safe ending for the wait.
SQL SERVER – Recently Executed T-SQL Query
fn_get_sql() and DBCC INPUTBUFFER will be deprecated. Use sys.dm_exec_query_stats and sys.dm_exec_sql_text to see each recently executed T-SQL query.
Finding Databases Nobody Uses
Finding databases nobody uses requires index activity, connection samples, job searches, and owner evidence before an offline trial.
Measure CPU Pressure in SQL Server with Waits and Schedulers
CPU Pressure means tasks are ready to run but every scheduler is busy, so they wait in a queue. This post reads that queue from the schedulers, compares signal waits with resource waits, checks recent CPU history and finds the queries that use the most CPU. It ends with a plain way to decide between a faster CPU, more cores and better queries.
Finding Sleeping Sessions That Still Hold Locks
Find sleeping sessions with open transactions, inspect their locks and last batch, and identify the application owner before ending work.







