Benutzer mit den meisten Antworten
CPU pro Datenbank beschränken

Frage
-
Hallo
Ist es Grundsätzlich möglich, mit Resource Governor(oder einer anderen Funktion) die CPU-Leistung auf DB-Ebene(alle Verbindungen werden mit dem gleichen User gemacht) zu steuern?
Als Beispiel wäre z.B. ein Onlineshop, welcher von mehreren Kunden genutzt wird(gleiches IIS-Web) aber Ihre eigenen Datenbanken haben. Wenn die CPU-Auslastung z.B. 50% übersteigt, soll pro DB max. 10% betragen dürfen damit nicht einfach eine DB 100% nimmt und die anderen "untergehen".
Ist das damit möglich?
Gruss Christoph
Antworten
-
Hallo Christoph,
das wirst Du evtl. tun können. Schau Dir hierzu mal die Funktionen an, die Du zur Verfügung hast, wenn Du eine Klassifizierungsfunktion schreibst:
http://msdn.microsoft.com/de-de/library/bb933865.aspx
Überlegungen zum Schreiben einer KlassifizierungsfunktionDie LoginProperty-Funktion wird dir nichts nützen, wenn alle Sessions mit dem gleichen Login kommen. Über die ORIGINAL_DB_NAME-Funktion könntest Du die Datenbank aus dem Connection-String abfragen, falls sie angegeben ist.
Falls natürlich Deine Sessions zwischendurch den Datenbank-Kontext wechseln, oder mit der Notation database.owner.objekt arbeiten, kommst Du wohl auf keinen grünen Zweig.
Sauberer wäre in jedem Fall eine Trennung der Sessions nach einzelnen Usern pro Kunde.Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Robert BreitenhoferModerator Montag, 27. Februar 2012 15:20
Alle Antworten
-
Hallo Christoph,
das wirst Du evtl. tun können. Schau Dir hierzu mal die Funktionen an, die Du zur Verfügung hast, wenn Du eine Klassifizierungsfunktion schreibst:
http://msdn.microsoft.com/de-de/library/bb933865.aspx
Überlegungen zum Schreiben einer KlassifizierungsfunktionDie LoginProperty-Funktion wird dir nichts nützen, wenn alle Sessions mit dem gleichen Login kommen. Über die ORIGINAL_DB_NAME-Funktion könntest Du die Datenbank aus dem Connection-String abfragen, falls sie angegeben ist.
Falls natürlich Deine Sessions zwischendurch den Datenbank-Kontext wechseln, oder mit der Notation database.owner.objekt arbeiten, kommst Du wohl auf keinen grünen Zweig.
Sauberer wäre in jedem Fall eine Trennung der Sessions nach einzelnen Usern pro Kunde.Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Robert BreitenhoferModerator Montag, 27. Februar 2012 15:20
-
Hallo chmav,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.