Chúng tôi có một máy chủ Windows 2008 x64 mạnh mẽ (CPU 4 x 4 lõi, RAM 32 GB) chạy SQL Server 2005 64 bit. Chúng tôi có một cơ sở dữ liệu nhỏ (6GB) nhưng rất quan trọng, hơi chậm truy cập cho đến khi các trang được lưu trong bộ nhớ (việc sử dụng rất nhiều I / O ngẫu nhiên nên tỷ lệ rất thấp là một trang nhất định nằm trong bộ nhớ và người dùng cuối phàn nàn về sự chậm chạp ban đầu). Các đĩa đủ nhanh (cục bộ 15K SAS) nhưng tôi đoán ứng dụng này được viết hơi vụng về (đó là giải pháp COTS) nên tôi tự hỏi liệu có cách nào để "buộc" cơ sở dữ liệu trong bộ nhớ trong SQL Server 2005 (2008 không được hỗ trợ bởi nhà cung cấp, vì vậy chúng tôi không nên nâng cấp lên đó) để giúp tránh các lỗi lấp đầy bộ đệm ban đầu?
Phương pháp hiện tại của tôi là tôi chạy CHỌN * từ mỗi bảng trong tập lệnh để lấy các trang dữ liệu trong bộ nhớ nhưng một số đối tượng (chỉ mục, Tìm kiếm toàn văn bản, v.v.) không được lưu trong bộ nhớ cache của phương thức này (và sửa đổi tập lệnh để thẩm vấn các chỉ mục và viết các mệnh đề WHERE thích hợp vào bộ đệm là phức tạp sôi sục trên đại dương).