У нас є надійний сервер Windows 2008 x64 (4 х 4 ядерний процесор, 32 ГБ оперативної пам’яті), на якому працює 64-розрядний SQL Server 2005. У нас є невелика (6 ГБ), але дуже важлива база даних, яка доступна дещо повільно, поки сторінки не запам’ятовуються в пам’яті (використання дуже багато випадкових вводу-виводу, тому шанси дуже низькі. Дана сторінка є в пам'яті та кінцевих користувачів скаржитися на початкову повільність). Диски досить швидкі (локальний 15K SAS), але я думаю, що додаток дещо незграбно написано (це рішення COTS), тому мені цікаво, чи є спосіб «змусити» базу даних в пам'яті в SQL Server 2005 (2008 не підтримується від постачальника, тож ми не повинні до цього ще оновлюватись), щоб уникнути початкового блюзу заповнення кешу?
Мій поточний метод полягає в тому, що я запускаю SELECT * з кожної таблиці в сценарії, щоб отримати сторінки даних в пам'яті, але деякі об'єкти (покажчики, повний пошук тексту тощо) не кешуються цим методом (і змінюючи сценарій для допиту індексів і написати відповідні пункти, де КЕШ керувати, - це складний режим "boil-the-ocean").