Purge du cache de plans

Il est possible qu’un jour vous trouviez dans les journaux de SQL Server le libellé suivant :

SQL Server has encountered n occurrence(s) of cachestore flush for the (partie du cache de plans) cachestore due to some database maintenance or reconfigure operations »

Ce message n’apparaît qu’à partir du SP2 de SQL Server 2005, et il est écrit par intervalles de 5 minutes.
La purge du cache de plans peut se produire dans les cas suivants :

Avec l’instruction ALTER DATABASE :

- Lors du détachement d'une base de données,
- ALTER DATABASE maBD SET AUTO_CLOSE ON,
- ALTER DATABASE maBD COLLATE nouvelleCollation,
- ALTER DATABASE maBD SET READ_ONLY,
- ALTER DATABASE maBD SET READ_WRITE,
- ALTER DATABASE maBD SET ONLINE,
- ALTER DATABASE maBD SET OFFLINE,
- ALTER DATABASE maBD MODIFY NAME = maNouvelleBD,
- ALTER DATABASE maBD MODIFY FILEGROUP GroupeDeFichiers DEFAULT,
- ALTER DATABASE maBD MODIFY FILEGROUP GroupeDeFichiers READ_WRITE,
- ALTER DATABASE maBD MODIFY FILEGROUP GroupeDeFichiers READ_ONLY,
- DROP DATABASE nomDeBDCaptureeParSnapshot.

Ou bien lorsqu’une des options d’instance suivante est modifiée à l’aide de sp_configure avec RECONFIGURE :

- cross db ownership chaining,
- index create memory (KB),
- remote query timeout (s),
- user options,
- max text repl size (B),
- cost threshold for parallelism,
- max degree of parallelism,
- min memory per query (KB),
- query wait (s),
- min server memory (MB),
- max server memory (MB),
- query governor cost limit

ou encore avec l’une de ces commandes DBCC :

- DBCC CHECKDB
- DBCC FREEPROCCACHE,
- DBCC FREESYSTEMCACHE.

Et enfin lors du succès de la reconstruction d’un fichier de journal des transactions.

ElSuket

Laisser un commentaire