SQL Server cache

di il
2 risposte

SQL Server cache

Buongiorno,

ho un problema con la memoria su un server SQL.

Se eseguo la query:
SELECT COUNT(*) AS cached_pages_count ,
( COUNT(*) * 8.0 ) / 1024 AS MB ,
CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE DB_NAME(database_id)
END AS Database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY database_id order by mb desc
La memoria occupata rimane costante indipendentemente dal contenuto delle tabelle. Ne deduco che si tratti di un problema di configurazione della cache.

Vorrei sapere se è posibile svuotarla in produzione (con DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL) e/o un riferimento di letteratura per poterla configurare correttamente. Purtroppo non sono nelle condizioni di replicare il problema nelle condizioni operative correnti su un ambiente di test.

Grazie in anticipo

2 Risposte

  • Re: SQL Server cache

    Salve a tutti,
    tendenzialmente SQL Server e' "avido" di memoria... al crescere delle richieste tende ad allocare e non rilasciare mai, anche richiamando le funzionalita' di DBCC... libera i buffer interni MA non dealloca, mantenendo le risorse per il proprio uso e consumo... questo comportamento quindi solitamente non costituisce anomalia ma lo standard de facto del servizio
    riscontri problemi particolari al di fuori di questo?
    salutoni omnia
    --
    Andrea
  • Re: SQL Server cache

    Ciao,

    Concordo anch'io sulla risposta data da Andrea.
    Il comportamento indicato è quello tipico e standard di SQL Server.
    By default si assegna a SQL Server tutta la RAM del server meno qualche GB lasciata al SO in modo che possa lavorare correttamente.
    Se ci sono altri problemi occorre indagare su quelli.

    Ciao
    Luca
    Follow me @
    sqlserverperformace.blogspot.com
Devi accedere o registrarti per scrivere nel forum
2 risposte