Alokowanie limitów pamięci RAM dla określonej bazy danych MSSQL

1

Mam dwie bazy danych SQL2005 na tym samym serwerze (Win2003 64-bit).

Jeden z nich jest rzadko używany, ale ma duży zestaw danych. Za każdym razem, gdy go odpytuję, SQL decyduje się poświęcić kilka gigabajtów pamięci RAM dla bazy danych i wydaje się, że tak pozostanie do momentu ponownego uruchomienia, kanibalizując pamięć RAM z innej ważniejszej bazy danych.

Czy jest jakiś sposób, aby ustawić limit pamięci RAM dla bazy danych?

Nie mam nic przeciwko, jeśli podczas wymiany zapytań z dużej, rzadko używanej bazy danych jest jakaś zamiana dysku. Ważne jest to, że pamięć RAM jest zarezerwowana na ważniejszą.

realworldcoder
źródło

Odpowiedzi:

2

i wydaje się, że tak pozostanie do momentu ponownego uruchomienia

Nie.

Czy jest jakiś sposób, aby ustawić limit pamięci RAM dla bazy danych?

Ani razu.

Nie mam nic przeciwko, jeśli podczas wymiany zapytań z dużej, rzadko używanej bazy danych jest jakaś zamiana dysku

Chciałbym, żeby pamięć podręczna serwera nigdy nie zamieniała się.

TomTom
źródło
0

Konfiguracja pamięci jest ustawiana na poziomie serwera i można ją ustawić tylko na maksymalną wartość, która pozwala na uruchamianie innych procesów innych niż SQL przy użyciu stałej ilości pozostałej pamięci RAM.

Pojedyncza opcja umożliwia zainstalowanie innej instancji (na tym samym serwerze) i migrację tam korzystającej z niej bazy danych. W ten sposób można podzielić całkowitą pamięć RAM na duże pamięci RAM zużywające bazy danych i średnie pamięci RAM zużywające bazy danych. Nie zapomnij zostawić 1-2 GB na procesy systemu operacyjnego.

yrushka
źródło