none
CPU pro Datenbank beschränken RRS feed

  • 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

    Mittwoch, 8. Februar 2012 10:08

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 Klassifizierungsfunktion

    Die 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

    Mittwoch, 8. Februar 2012 14:07

Alle Antworten