SQL Server Buffer Pool Persistence Feature Request

Steven Lam 20 Reputation points
2025-05-03T14:12:23.3433333+00:00

SQL Server Buffer Pool Persistence Feature Request

Could SQL Server implement a feature to export buffer pool data? This would eliminate the need for data warm-up after database restarts or initial startups. By directly importing previously saved buffer pool data, the database could achieve optimal performance immediately.

Referencing MySQL 8.0's implementation - MySQL automatically exports buffer pool data (stored in ib_buffer_pool file) and imports it during the next startup. This bypasses the warm-up phase and delivers peak performance right away.

[root@2_mysql_68 data]# ll /data/mysql/mysql3306/data/

total 156732

-rw-r----- 1 mysql mysql       56 Mar  4 15:22 auto.cnf

-rw------- 1 mysql mysql     1705 Mar  4 15:22 ca-key.pem

-rw-r--r-- 1 mysql mysql     1108 Mar  4 15:22 ca.pem

-rw-r--r-- 1 mysql mysql     1108 Mar  4 15:22 client-cert.pem

-rw------- 1 mysql mysql     1705 Mar  4 15:22 client-key.pem

-rw-r----- 1 mysql mysql  6291456 May  3 16:18 #ib_16384_0.dblwr

-rw-r----- 1 mysql mysql 14680064 Apr 12 12:53 #ib_16384_1.dblwr

-rw-r----- 1 mysql mysql     3638 Apr 12 13:37 ib_buffer_pool

-rw-r----- 1 mysql mysql 67108864 May  3 16:16 ibdata1
SQL Server Database Engine
{count} votes

2 answers

Sort by: Most helpful
  1. Wagner Silva 0 Reputation points Microsoft Employee
    2025-05-03T14:44:23.42+00:00

    Currently, SQL Server does not have an equivalent native feature for buffer pool persistence. However, recent versions have introduced improvements related to memory management:

    • SQL Server 2019 (15.x): Introduction of the Hybrid Buffer Pool concept, which allows buffer pool objects to reference data pages stored in persistent memory (PMEM) devices, avoiding the need to copy those pages to volatile DRAM. This approach improves performance by reducing latency for data access. (learn.microsoft.com)
    • SQL Server 2022 (16.x): Introduction of Buffer Pool Parallel Scan, which improves performance for buffer pool scan operations by utilizing multiple CPU cores, significantly increasing scalability, especially on machines with large amounts of memory. (microsoft.com)

  2. Erland Sommarskog 120.3K Reputation points MVP
    2025-05-03T15:25:44.8+00:00

    In addition to Wagner's answer: the best place to submit suggestions like this is https://feedback.azure.com/d365community/forum/04fe6ee0-3b25-ec11-b6e6-000d3a4f0da0.

    My direct reflection is that this is a matter of trade-off. If the server has 2TB of RAM, exporting the buffer pool will take some time, and so will importing it. The way it is "imported" now is that the pages actually being referred to are read from their regular storage of disk. Then again, reading pages from the database comes with a overhead that can be avoided with a plain dump. Then again, there has to be 2 TB of disk space somewhere.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.