sys.dm_fts_memory_buffers (Transact-SQL)

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

返回有关属于特定内存池的内存缓冲区(作为全文爬网或全文爬网范围的一部分使用)的信息。

注意

Microsoft SQL Server 的未来版本中,将删除以下列: row_count 应避免在新的开发工作中使用该列,并着手修改当前使用该列的应用程序。

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

0 = 小型缓冲区

1 = 大型缓冲区
memory_address varbinary(8) 已分配的内存缓冲区的地址。
name nvarchar(4000) 执行该分配的共享内存缓冲区的名称。
is_free bit 内存缓冲区的当前状态。

0 = 空闲

1 = 繁忙
row_count int 该缓冲区当前正在处理的行数。
bytes_used int 该缓冲区中正在使用的内存量(字节)。
percent_used 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_buffers的物理联接示意图。

关系基数

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

后续步骤

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