Поделиться через


sys.sp_xtp_checkpoint_force_garbage_collection (Transact-SQL)

Область применения: SQL Server

Помечает исходные файлы, используемые в операции слияния, с номером последовательности журнала (LSN), после которого они не нужны и могут собирать мусор. Кроме того, sys.sp_xtp_checkpoint_force_garbage_collection перемещает файлы, связанные с LSN, ниже точки усечения журнала в сборку мусора FILESTREAM.

В отличие от sys.sp_xtp_force_gc, что приводит к тому, что подсистема памяти освобождает память, связанную с удаленными строками данных в памяти, которые имеют право на сборку мусора, которая еще не была выпущена процессом.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sys.sp_xtp_checkpoint_force_garbage_collection
    [ [ @dbname = ] 'database_name' ]
[ ; ]

Аргументы

[ @dbname = ] 'database_name'

База данных, в которой будет выполняться сборка мусора. Значение по умолчанию — текущая база данных. @dbname — sysname.

Значения кода возврата

0 для успешного выполнения. Ненулевое значение — ошибка.

Результирующий набор

Возвращаемая строка содержит следующие сведения.

Столбец Description
num_collected_items Указывает количество файлов, которые были перемещены в сборку мусора FILESTREAM. Номер последовательности журнала (LSN) этих файлов меньше LSN точки усечения журнала.
num_marked_for_collection_items Указывает количество файлов данных и разностных файлов, номер LSN которых был обновлен с использованием blockID журнала с конечным номером LSN журнала.
last_collected_xact_seqno Возвращает последний соответствующий номер LSN, в который были перемещены файлы в сборку мусора FILESTREAM.

Замечания

Вы можете вручную активировать сборку мусора с помощью другой системной хранимой процедуры. sys.sp_xtp_force_gc Вы можете наблюдать снижение очистки памяти в sys.dm_xtp_system_memory_consumers.

В SQL Server 2022 (16.x) sys.dm_xtp_system_memory_consumers динамическое административное представление улучшило аналитические сведения, относящиеся к метаданным TempDB, оптимизированным для памяти.

Разрешения

Требуется членство в предопределенной роли базы данных db_owner.

Примеры

Чтобы пометить ненужные исходные файлы для сборки мусора в tempdb базе данных, используйте следующий пример сценария:

EXEC sys.sp_xtp_checkpoint_force_garbage_collection N'tempdb';