Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Pressão de memória do SQL Server 2005 e problema de gravações de tempdb


Um comprimento de fila de disco alto não significa que você tenha um gargalo de E/S se você tiver uma SAN ou NAS, você pode querer procurar outros contadores adicionais. Confira SQL Server Urban Lendas discutidas para mais detalhes.

1:As seguintes operações utilizam fortemente o tempdb
  • Criação e descarte repetidos de tabelas temporárias (locais ou globais)
  • Variáveis ​​de tabela que usam tempdb para fins de armazenamento
  • Tabelas de trabalho associadas a CURSORS
  • Tabelas de trabalho associadas a uma cláusula ORDER BY
  • Tabelas de trabalho associadas a uma cláusula GROUP BY
  • Arquivos de trabalho associados a HASH PLANS

Esses recursos do SQL Server 2005 também usam muito o tempdb:
  • versão em nível de linha (isolamento de instantâneo)
  • reconstrução de índice on-line

Conforme mencionado em outras respostas do SO, leia este artigo sobre as melhores práticas para aumentar o desempenho do tempdb.

2:Observar a quantidade de RAM livre no servidor, ou seja, examinar o contador WMI Memória->Mbytes disponíveis não ajuda, pois o SQL Server armazenará em cache as páginas de dados na RAM, então qualquer servidor db que esteja rodando por tempo suficiente terá pouca RAM livre.
Os contadores que você deve observar que são mais significativos para dizer se adicionar RAM ao servidor ajudará são:
Instância do SQL Server:Buffer Manager->Page Life Expectancy (em segundos) Um valor abaixo de 300-400 segundos significará que as páginas não estão na memória por muito tempo e os dados estão sendo lidos continuamente dos discos. Servidores que têm uma expectativa de vida de página baixa se beneficiarão de RAM adicional.
e
Instância do SQL Server:Buffer Manager->Buffer Cache hit Ratio Isso informa a porcentagem de páginas que foram lidas da RAM que não tiveram que incorrer em uma leitura do disco, uma taxa de acertos de cache menor que 85 significará que o servidor se beneficiará de RAM adicional

3 :Sim, não pode dar errado aqui. É recomendável ter tempdb em um conjunto separado de discos. Veja este artigo da base de conhecimento sob o título:Movendo o banco de dados tempdb sobre como fazer isso.