it-swarm.com.de

SQL Server 2016: So beschränken Sie Speicher und CPU für eine bestimmte Datenbank

SQL Server 2016 Standard Ed unter Windows 2016

Wir haben eine 128-GB-Maschine mit 8 Kernen (eigentlich eine VM). Wir maximieren dies für unsere Prod-Datenbank. (122 GB für die Instanz, 8 Kerne für die Instanz)

Wir richten eine zweite Datenbank ein, die sich auf einem eigenen Spindelsatz befindet (langsamere Festplatten), und möchten nicht, dass sie sich auf die Produktdatenbank auswirkt. Dies erfolgt auf derselben VM (nach unserem Verständnis können wir die vorhandene SQL-Lizenz auf diese Weise verwenden).

Muss diese 2. Datenbank von einer eigenen SQL-Instanz bedient werden, um:

  • Einschränken RAM verbraucht (auf sehr wenig, nur 4 oder 8 GB)
  • Beschränken Sie sich auf 2 CPU-Kerne

Oder können wir diese Datenbank innerhalb der Hauptinstanz einschränken?

(Hinweis, Express Edition ist keine Option, unsere Datenbank wird über 10 GB groß sein.)

Sie sind sich nicht sicher, ob Ihre Lizenzierung dies zulässt, aber Sie erhalten ein gewisses Maß an Feinabstimmung, indem Sie eine zweite SQL-Instanz auf demselben Host installieren.

Damit können Sie den maximalen Speicher jeder Instanz einzeln einstellen und sogar die CPU-Einstellungen (Prozessoraffinität) für jede Instanz anpassen (obwohl Sie sollten diese Einstellung wirklich verstehen, bevor Sie damit herumspielen ).

Das Problem ist, dass ich selbst in diesem Szenario, wenn das Management mich fragte: "Können Sie garantieren, dass dies keine Auswirkungen auf die Produktionsdatenbank auf der Primärinstanz hat", antworten muss: "Nein, das kann ich nicht garantieren." Dafür möchten Sie auf einer völlig separaten VM laufen.

7
BradC

Das kannst du nicht. Es gibt keine Einschränkungen pro Datenbank, da eine Abfrage mehrere Datenbanken umfassen kann (denken Sie an Verknüpfungen und vollständig qualifizierte Objekte).

Theoretisch gibt es den Resource Governor von SQL Server, der dies unterstützt. Er funktioniert jedoch nur für Dinge wie CPU-Anzahl, Abfrage-Arbeitsbereichsspeicher und Festplatten-E/A. Es funktioniert nicht im Pufferpool, sodass es Ihren Anforderungen immer noch nicht entspricht.

9
Brent Ozar