sys.dm_fts_memory_buffers (Transact-SQL)

Applies to: yesSQL Server (all supported versions) YesAzure SQL Database YesAzure SQL Managed Instance

Returns information about memory buffers belonging to a specific memory pool that are used as part of a full-text crawl or a full-text crawl range.


The following column will be removed in a future release of MicrosoftSQL Server: row_count. Avoid using this column in new development work, and plan to modify applications that currently use it.

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

0 = Small buffers

1 = Large buffers
memory_address varbinary(8) Address of the allocated memory buffer.
name nvarchar(4000) Name of the shared memory buffer for which this allocation was made.
is_free bit Current state of memory buffer.

0 = Free

1 = Busy
row_count int Number of rows that this buffer is currently handling.
bytes_used int Amount, in bytes, of memory in use in this buffer.
percent_used int Percentage of allocated memory used.


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.

Physical joins

Diagram of physical joins for sys.dm_fts_memory_buffers.

Relationship cardinalities

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

Next steps

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