sys.dm_fts_memory_pools (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Returns information about the shared memory pools available to the Full-Text Gatherer component for a full-text crawl or a full-text crawl range.

Column name Data type Description
pool_id int ID of the allocated memory pool.

0 = Small buffers

1 = Large buffers
buffer_size int Size of each allocated buffer in the memory pool.
min_buffer_limit int Minimum number of buffers allowed in the memory pool.
max_buffer_limit int Maximum number of buffers allowed in the memory pool.
buffer_count int Current number of shared memory buffers in the memory pool.


On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.

On SQL Database Basic, S0, and S1 service objectives, and for databases in elastic pools, the server admin account, the Azure Active Directory admin account, or membership in the ##MS_ServerStateReader## server role is required. On all other SQL Database service objectives, either the VIEW DATABASE STATE permission on the database, or membership in the ##MS_ServerStateReader## server role is required.

Permissions for SQL Server 2022 and later

Requires VIEW SERVER PERFORMANCE STATE permission on the server.

Physical joins

Diagram of physical joins for sys.dm_fts_memory_pools.

Relationship cardinalities

From To Relationship
dm_fts_memory_buffers.pool_id dm_fts_memory_pools.pool_id Many-to-one


The following example returns the total shared memory owned by the Microsoft Full-Text Gatherer component of the SQL Server process:

SELECT SUM(buffer_size * buffer_count) AS "total memory"   
    FROM sys.dm_fts_memory_pools;  

Next steps

Full-Text Search and Semantic Search Dynamic Management Views and Functions (Transact-SQL)