Azure SQL automatic index compaction: lower your fill factor under continuous inserts
Does Azure SQL automatic index compaction fix UUIDv7 page density? Yes after a load, but with continuous inserts it needs a fill factor below 100.
Microsoft SQL Server in practice: installation, Always On availability groups, backup and restore, performance tuning, security, PowerShell automation, SQL Server on Linux and upgrades.
Does Azure SQL automatic index compaction fix UUIDv7 page density? Yes after a load, but with continuous inserts it needs a fill factor below 100.
How to check what SQL Server 2025 optimized locking really does with Extended Events: escalations, LAQ attempts and restarts.
Contexte A customer recently asked me to disable FileTable/FileStream on their instance because the databases no longer use it, and to ensure that this is indeed the case.The aim is to migrate to a new architecture without FileTable/FileStream in a second time. Link to FileTable and FileStream if you need to know a bit more about these technologies The environment…
sp_invoke_external_rest_endpoint has no limit in SQL Server 2025: each waiting call holds a worker. Compared with Azure SQL.
Translating 4,000 Oracle views, rebuilding indexes offline on Standard Edition, and compressing clustered index to save 1T.
Cumulative Update 5 for SQL Server 2025 was released on May 20, 2026 (build 17.0.4045.5). Seven entries in the KB, mostly fixes. One of them is not a fix: it is a new server configuration option, max lock manager cache memory (%). Reference: https://support.microsoft.com/en-us/servicing/sql/sql-server-2025/cumulative-update/kb5084896-cu5 I built a lab on CU5 and on later builds up to CU9 and I spent…
Loading 5 TB from Oracle into SQL Server with SSMA: type overflows, heaps, and the settings that took 788 rows/s to 42,170.
Why SQL Server keeps a full SELECT * serial: I/O cost is never divided across threads. Forcing parallelism burned 3x the CPU.
Column order does not affect equality seeks in SQL Server. Measured on 5M rows, then proven inside the B-tree pages.
UUIDv7 places its timestamp first, but SQL Server compares uniqueidentifier
values starting from the last bytes. Measured on 25,000 inserts: no gain over NEWID().
SSMA fails with ORA-00904 on Oracle SET UNUSED columns. Fix it with a custom select aliasing NULL, no source DDL required.
During a recent performance review on a SQL Server 2019 instance (AlwaysOn Failover Cluster Instance, bare-metal), one number stood out. This post follows the investigation: from a latency figure in a DMV, down the I/O path to a RAID controller setting nobody had ever chosen. The starting point: one number from a health check The I/O statistics of the instance…