DBCC FREESYSTEMCACHE (Transact-SQL)DBCC FREESYSTEMCACHE (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Удаляет все неиспользуемые элементы из всех кэшей.Releases all unused cache entries from all caches. Компонент Компонент SQL Server Database EngineSQL Server Database Engine заранее автоматически очищает неиспользуемые элементы кэша в фоновом режиме, освобождая память для текущих записей.The Компонент SQL Server Database EngineSQL Server Database Engine proactively cleans up unused cache entries in the background to make memory available for current entries. Но можно использовать эту команду, чтобы вручную удалить неиспользуемые записи из каждого кэша или из указанного кэша пула Resource Governor.However, you can use this command to manually remove unused entries from every cache or from a specified Resource Governor pool cache.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

DBCC FREESYSTEMCACHE   
    ( 'ALL' [, pool_name ] )   
    [WITH   
    { [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ]  }  
    ]  

АргументыArguments

( 'ALL' [,pool_name ] )( 'ALL' [,pool_name ] )
Ключевое слово ALL указывает все поддерживаемые кэши.ALL specifies all supported caches.
Аргумент pool_name указывает кэш пула Resource Governor.pool_name specifies a Resource Governor pool cache. Освобождены будут только записи, связанные с этим пулом.Only entries associated with this pool are freed.

MARK_IN_USE_FOR_REMOVALMARK_IN_USE_FOR_REMOVAL
Асинхронно освобождает текущие используемые элементы из соответствующих кэшей после того, как они перестают использоваться.Asynchronously frees currently used entries from their respective caches after they're unused. Новые элементы, созданные в кэше после выполнения DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL, не будут затронуты.After the DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL runs, new entries created in the cache aren't affected.

NO_INFOMSGSNO_INFOMSGS
Подавляет вывод всех информационных сообщений.Suppresses all informational messages.

RemarksRemarks

При выполнении инструкции DBCC FREESYSTEMCACHE очищается кэш планов для экземпляра SQL ServerSQL Server.Running DBCC FREESYSTEMCACHE clears the plan cache for the instance of SQL ServerSQL Server. Очистка кэша планов становится причиной перекомпиляции всех предстоящих планов выполнения и приводит к непредвиденному временному снижению производительности обработки запросов.Clearing the plan cache causes a recompilation of all upcoming execution plans and can cause a sudden, temporary reduction in query performance. Для каждого удаленного хранилища кэша в кэше планов журнал ошибок SQL ServerSQL Server содержит сообщение, информирующее о том, что SQL ServerSQL Server обнаружено %d экземпляров, сброшенных на диск хранилищ кэша для хранилища кэша "%s" (части кэша планов) в результате операций DBCC FREEPROCCACHE или DBCC FREESYSTEMCACHE.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations." Это сообщение добавляется в журнал каждые пять минут при сбросе кэша в течение этого интервала времени.This message is logged every five minutes as long as the cache is flushed within that time interval.

Результирующие наборыResult sets

Инструкция DBCC FREESYSTEMCACHE возвращает: "Выполнение DBCC завершено.DBCC FREESYSTEMCACHE returns: "DBCC execution completed. Если инструкция DBCC выдает сообщения об ошибках, обратитесь к системному администратору».If DBCC printed error messages, contact your system administrator."

РазрешенияPermissions

Требует разрешения ALTER SERVER STATE на сервере.Requires ALTER SERVER STATE permission on the server.

ПримерыExamples

A.A. Освобождение неиспользуемых записей кэша из кэша пула регулятора ресурсовReleasing unused cache entries from a Resource Governor pool cache

В следующем примере показывается, как очищать кэши, выделенные указанному пулу ресурсов регулятора ресурсов.The following example illustrates how to clean caches that are dedicated to a specified Resource Governor resource pool.

-- Clean all the caches with entries specific to the resource pool named "default".  
DBCC FREESYSTEMCACHE ('ALL', default);  

Б.B. Освобождение записей из кэшей после прекращения их использованияReleasing entries from their respective caches after they become unused

В следующем примере используется предложение MARK_IN_USE_FOR_REMOVAL, чтобы освободить записи из всех текущих кэшей, когда записи становятся неиспользуемыми.The following example uses the MARK_IN_USE_FOR_REMOVAL clause to release entries from all current caches once the entries become unused.

DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;  

См. также:See Also

DBCC (Transact-SQL)DBCC (Transact-SQL)
DBCC FREEPROCCACHE (Transact-SQL)DBCC FREEPROCCACHE (Transact-SQL)
DBCC FREESESSIONCACHE (Transact-SQL)DBCC FREESESSIONCACHE (Transact-SQL)
Регулятор ресурсовResource Governor