Fragmentation in columnstore indexes means deleted rows that stay inside compressed row groups, and row groups that are too small. This post builds a demo table, measures the deleted rows with the row group view, and compares REORGANIZE with REBUILD.
SQL SERVER – Diagnosing SINGLE_USER Errors Without a Universal EMERGENCY Workaround
Giving Error during a SINGLE_USER change requires the exact error and database state. My original case lacked enough diagnostic detail.
Check Trace Flag Status With DBCC TRACESTATUS
DBCC TRACESTATUS checks trace flag status. Run it with -1 to list every flag that is on, or with flag numbers to test them one by one. This post turns on a harmless session flag, reads its scope, finds startup flags, and stores the result in a table.
Table Usage in the Plan Cache: Count Queries That Touch a Table
Table usage in the plan cache shows how many times the cached queries of a database touched each table. This post builds a demo database, shows why a text search of the cache misleads, reads the table names from the plan XML, and lists the queries behind one table.
Quartiles With PERCENTILE_CONT and NTILE
Compare quartiles from PERCENTILE_CONT with NTILE row buckets, calculate interquartile range, and flag candidates beyond 1.5 IQR.
SQL SERVER – Delayed Durability and Flushing Log Files
Flushing with sys.sp_flush_log hardens preceding committed delayed-durable transactions in the current database. I use delayed durability only with an accepted tradeoff.
Parameters of sp_who2: Active, Session ID and the Login Trap
The parameters of sp_who2 are one optional value that can be a session ID, the word active or a login name. This post counts the rows each form returns, shows that the login form does not filter, and explains the errors.







