sys.dm_fts_memory_pools (Transact-SQL)

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

返回有关可供全文爬网或全文爬网范围的全文收集器组件使用的共享内存池的信息。

列名称 数据类型 描述
pool_id int 已分配的内存池的 ID。

0 = 小型缓冲区

1 = 大型缓冲区
buffer_size int 内存池中每个已分配的缓冲区的大小。
min_buffer_limit int 内存池中允许的最小缓冲区数。
max_buffer_limit int 内存池中允许的最大缓冲区数。
buffer_count int 内存池中共享内存缓冲区的当前个数。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在 SQL 数据库“基本”、“S0”和“S1”服务目标中,对于“弹性池”中的数据库,服务器管理员帐户、Microsoft Entra 管理员帐户或 ##MS_ServerStateReader## 服务器角色中的成员身份为必填项。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

物理联接

sys.dm_fts_memory_pools的物理联接示意图。

关系基数

操作 关系
dm_fts_memory_buffers.pool_id dm_fts_memory_pools.pool_id 多对一

示例

以下示例返回 SQL Server 进程的Microsoft全文收集器组件拥有的总共享内存:

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

后续步骤

全文搜索和语义搜索动态管理视图和函数 (Transact-SQL)