A fair test of row mode vs batch mode changes only the execution mode. This post uses a query hint to force row mode at the same compatibility level, checks that both modes return the same rows, and times five runs of each on a three million row table. It also shows a query where batch mode gains nothing.
Finding Regressed Queries in Query Store After a Deployment
Find regressed queries in Query Store using weighted before-and-after duration and CPU, then compare plans and changed procedure text.
Granting Read Access to One Schema With GRANT SELECT ON SCHEMA
Use GRANT SELECT ON SCHEMA for focused read access, test a loginless user, and check ownership chains and table-level DENY behavior.
Batch Mode on Rowstore: A Simple Example in SQL Server
Batch mode on rowstore lets SQL Server process rows in groups, even when the table has no columnstore index. This post builds a million row table, reads the execution mode of each plan operator, and flips four switches to show when you get batch mode and when you don’t. It also answers why a plan can stay in row mode.
How to Determine Read Intensive and Write Intensive Tables in SQL Server? – Interview Question of the Week #251
Question: How to Determine Read Intensive and Write Intensive Tables in SQL Server?
Answer: The script is very simple and lets us see in the blog.
Create an Index Online in SQL Server: What ONLINE = ON Locks
To create an index online in SQL Server, add WITH (ONLINE = ON) to CREATE INDEX, and writers keep working while the index builds. This post compares a plain build with an online build on a three million row table, measures what each one blocks and what the online build costs, and shows where it still waits.
Application Locks With sp_getapplock: One Job at a Time
Use sp_getapplock to serialize a job, compare transaction and session ownership, handle return codes, and inspect a two-session test.







