Being day 14 of the DBCC Command month at SteveStedman.com, today’s featured DBCC Command is DBCC FREESYSTEMCACHE.
Description:
DBCC FREESYSTEMCACHE is used to free all memory associated with all of the SQL Server caches.
DBCC FREESYSTEMCACHE Syntax:
dbcc freesystemcache
(
'ALL' [, 'POOL NAME']
)
[ WITH
{
[ MARK_IN_USE_FOR_REMOVAL ]
[, [ NO_INFOMSGS ] ]
}
]
Example:
The following example we first select form sys.dm_os_memory_clerks to find all of the available system caches that could be freed.
SELECT DISTINCT name
FROM sys.dm_os_memory_clerks;
DBCC FREESYSTEMCACHE('SQL Plans');
In order to clear all the plans for a specific database we can call DBCC FreeSystemCache witht he database name as shown here.
DBCC freesystemcache ('Northwind');
If we want to free everything we would us the ‘ALL’ parameter as shown here.
DBCC FREESYSTEMCACHE ('ALL');
And finally the option to mark the in use items for removal when they are done being used.
DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;
Notes:
For more information see TSQL Wiki DBCC freesystemcache.
DBCC Command month at SteveStedman.com is almost as much fun as samauri sudoku.
More from Stedman Solutions:
Steve and the team at Stedman Solutions are here for all your SQL Server needs.
Contact us today for your free 30 minute consultation..
We are ready to help!