Wir haben eine Reihe von SQL Server-Instanzen (2008 R2), die auf demselben virtuellen Server ausgeführt werden. Jede Instanz repräsentiert eine Phase in unserem Entwicklungszyklus (Dev / Test / Stage / etc.) Die Instanzen müssen alle zu einem bestimmten Zeitpunkt online sein, aber die Last wird in der Regel auf eine Instanz beschränkt, je nachdem, wo wir uns im Release-Lebenszyklus befinden.
SQL Server scheint die von uns als max. Was ich gerne wissen würde, wenn es eine Möglichkeit gibt, die Instanzen so zu konfigurieren, dass sie hinsichtlich des Speicherverbrauchs "intelligent" sind, damit sie sich nicht gegenseitig daran hindern, bei Bedarf Speicher zu erhalten.
sql-server
sql-server-2008-r2
Phil Sandler
quelle
quelle
Antworten:
SQL Server verwendet so viel Speicher, wie Sie darauf werfen können (so ziemlich), und es ist immer ratsam, für jede Instanz ein Limit festzulegen. Die Standardeinstellung ist 2147483647MB.
Abhängig von Ihrer Nutzung und den jeweiligen Umständen können Ihre Einstellungen variieren. Normalerweise ist es jedoch ein guter Ausgangspunkt, den maximalen Serverspeicher zwischen 75 und 90 Prozent festzulegen, je nachdem, wie viel RAM Sie haben. Glenn Berry hat HIER vor ein paar Jahren einen guten Hinweis gegeben .
Wenn Sie mehrere aktive Instanzen auf einem Server haben, müssen Sie möglicherweise die Ressourcen zwischen ihnen teilen. Wenn Sie beispielsweise 32 GB RAM mit 3 Instanzen haben, sollten Sie jeder Instanz etwa 9500 MB zuweisen. Wenn Sie jeweils nur eine Instanz verwenden, geben die anderen den von ihnen verwendeten RAM nicht frei. Sie können den Arbeitsspeicher freigeben, indem Sie den Dienst beenden.
Wenn andere Anwendungen / Dienste ausgeführt werden, muss die Speichermenge möglicherweise angepasst werden, um sie aufzunehmen.
quelle