Hello,
DBCC Freeproccache vide entièrement le cache des procédures. Redémarrer une instance vide tous les caches associées à SQL Server notamment le cache des données.
Il est possible maintenant de vider le cache des procédures d'un seul plan que tu peux identifier via sys.dm_exec_cached_plans.
DBCC FREESYSTEMCACHE est différent de la première commande dans le sens où elle sert à supprimer manuellement les entrées des différents caches que tu peux avoir sous SQL Server et qui ne sont plus utilisées. Tu peux en avoir une liste en exécutant la requête suivante :
select distinct name from sys.dm_os_memory_clerks
Tu as la possibilité de vider tous les caches en utilisant ALL ou un seul en spécifiant le nom du cache. Par exemple:
dbcc freesystemcache('tempdb')
En principe un administrateur de bases de données ne doit jamais vider les caches SQL Server hormis cas vraiment spécifiques. Ce n'est donc pas une généralité mais plus une exception d'avoir recours à ces commandes.
++
Partager