NOLOCK without WITH and without parentheses is not a hint, because SQL Server reads it as a table alias. This post proves it with a lock test, shows why the compatibility level doesn’t change it, and gives a query that finds the bad syntax in your code. It ends with the safer ways to write the hint.
SQL SERVER – Different Methods to Know COMPATIBILITY LEVEL of a Database
Different methods to find the compatibility level of a database, from sp_helpdb to sp_dbcmptlevel, with a quick note on what the setting means.
SQL Server – Configuration Manager Console Running Very Slow and Time Out
A Compatibility Level change helped one customer’s Configuration Manager Console. I keep that incident separate from a universal repair recommendation.
Cardinality Estimation and Performance: SQL in Sixty Seconds #072
Cardinality estimation and performance depend on each other: the optimizer guesses a row count, and that guess picks the plan and sets the reads. This post tests one query under the old and the new estimator on SQL Server 2025, shows where the new guess wins and where it loses, and explains how to switch estimators with the smallest possible change.
New Cardinality Estimation: What Changed Since 2014
The new cardinality estimation guesses row counts differently from the old one. This post tests both on SQL Server 2025 with one query, shows three switches that choose the model, and gives a safe way to upgrade.
Checking Data Type Mapping After a Database Migration
Audit data type mapping after migration, compare counts and checksum screens, inspect length and precision, and reconcile changed values.
Compatibility Level 170: What SQL Server 2025 Turns On
Move to compatibility level 170 on SQL Server 2025 with feature checks, Query Store baselines, plan comparisons, and a rollback plan.






