Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005 La pressione della memoria e il problema di scrittura tempdb

Un'elevata lunghezza della coda del disco non significa che hai un collo di bottiglia I/O se hai una SAN o un NAS, potresti voler guardare altri contatori aggiuntivi. Dai un'occhiata a SQL Server Urban Leggende discusse per maggiori dettagli.

1:le seguenti operazioni utilizzano ampiamente tempdb

  • Creazione e rilascio ripetuti di tabelle temporanee (locali o globali)
  • Variabili di tabella che utilizzano tempdb per scopi di archiviazione
  • Tabelle di lavoro associate ai CURSORI
  • Tabelle di lavoro associate a una clausola ORDER BY
  • Tabelle di lavoro associate a una clausola GROUP BY
  • File di lavoro associati ai PIANI HASH

Queste funzionalità di SQL Server 2005 utilizzano anche tempdb in modo intensivo:

  • Versioning a livello di riga (snapshotisolation)
  • ricostruzione dell'indice online

Come menzionato in altre risposte SO, leggi questo articolo sulle best practice per aumentare le prestazioni di tempdb.

2:Osservando la quantità di RAM libera sul server, ad esempio guardando il contatore WMI Memoria->Mbyte disponibili non aiuta poiché SQL Server memorizza nella cache le pagine di dati nella RAM, quindi qualsiasi server db che è in esecuzione abbastanza a lungo avrà poca RAM libera.
I contatori che dovresti guardare sono più significativi per dirti se l'aggiunta di RAM al server può essere d'aiuto sono:
Istanza di SQL Server:Buffer Manager->Aspettativa di vita della pagina (in secondi) Un valore inferiore a 300-400 secondi significa che le pagine non sono in memoria molto a lungo e che i dati vengono letti continuamente dai dischi. I server con un'aspettativa di vita della pagina bassa trarranno vantaggio da RAM aggiuntiva.
e
Istanza di SQL Server:Buffer Manager->Rapporto di hit della cache del buffer Questo ti dice la percentuale di pagine che sono state lette dalla RAM che non hanno dovuto subire una lettura dal disco, un rapporto di hit della cache inferiore a 85 significherà che il server trarrà vantaggio dalla RAM aggiuntiva

3 :Sì, non posso sbagliare qui. Si consiglia di avere tempdb su un set separato di dischi. Guarda questo articolo della Knowledge Base sotto il titolo:Spostamento del database tempdb su come eseguire questa operazione.