'ROW_OVERFLOW_DATA has 0 total_pages/used_pages/data_pages for rows having size > 9000 bytes in Azure SQL DB table

We have a column xyz with varchar(max). We store long strings in that column. I verified using below query to see how many records have column xyz dataLength > 9000 bytes. the result was 35 as total count.

SELECT count(Id) FROM testTable where datalength(xyz) > 9000;

I ran below query to look at the total_pages/used_pages/data_pages for ROW_OVERFLOW_DATA and everything is showing as 0. I was expecting few pages since there were around 35 records for which column size itself was greater 9000.

enter image description here

I read in below articles that rows exceeding size 8kb will use ROW_OVERFLOW_DATA for longer column. So do you guys see any reason why it did not happen in above case?

https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms186981(v=sql.105)?redirectedfrom=MSDN

https://sqlity.net/en/1051/blob-and-row-overflow-storage-internals-row-overflow-data/



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source