Temos um servidor robusto Windows 2008 x64 (CPU de 4 x 4 núcleos, 32 GB de RAM) executando o SQL Server 2005 de 64 bits. Temos um banco de dados pequeno (6 GB), mas muito importante, que é um pouco lento para acessar até que as páginas sejam armazenadas em cache na memória (o uso é de E / S aleatória, portanto as chances são muito baixas de que uma determinada página esteja na memória e os usuários finais reclamar da lentidão inicial). Os discos são rápidos o suficiente (SAS local de 15K), mas acho que o aplicativo é um tanto desajeitado (é uma solução COTS), por isso estou pensando se há uma maneira de "forçar" um banco de dados em memória no SQL Server 2005 (não há suporte para 2008 pelo fornecedor, portanto, não devemos atualizar para isso ainda) para ajudar a evitar os blues iniciais de preenchimento de cache?
Meu método atual é que eu execute um SELECT * de cada tabela em um script para obter páginas de dados na memória, mas alguns objetos (índices, pesquisa de texto completo etc.) não são armazenados em cache por esse método (e modificando o script para interrogar índices e escrever cláusulas WHERE apropriadas para armazenar em cache é o complexo boil-the-ocean).