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 权限。
物理联接
关系基数
源 | 功能 | 关系 |
---|---|---|
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;