5 Stimmen

Legen Sie die maximale Anzahl von Abfragen für einen bestimmten Datenbankbenutzer in SQL Server 2008 R2 fest

Gibt es eine Möglichkeit, einen Datenbankbenutzer darauf zu beschränken, nur eine Verbindung zu einer Datenbank herzustellen und nur eine Abfrage gleichzeitig durchzuführen? - In SQL Server 2008 R2 -

Beispiel 1:

  • Datenbank: database_1
  • Benutzername: some_user
  • Passwort: some_pass

Erste Verbindung zur database_1:

  • Verbindung: xxx.xxx.xxx.xx1
  • ... Verbunden mit xxx.xxx.xxx.xx1

Zweite Verbindung zur database_1:

  • Verbindung: xxx.xxx.xxx.xx2
  • ... Verbindung fehlgeschlagen: xxx.xxx.xxx.xx2

Benutzer some_user versucht, eine Abfrage auszuführen:

Abfrage 1:

select * 
from table1 
join ,...,join TabelleN

Beispiel 2:

  • Datenbank: database_1
  • Benutzername: some_user
  • Passwort: some_pass

Erste Verbindung zur database_1:

  • Verbindung: xxx.xxx.xxx.xx1
  • ... Verbunden mit xxx.xxx.xxx.xx1

Zweite Verbindung zur database_1:

  • Verbindung: xxx.xxx.xxx.xx2
  • ... Verbunden mit xxx.xxx.xxx.xx2

Benutzer some_user versucht, eine Abfrage auszuführen, indem er die Verbindung xxx.xxx.xxx.xx1 verwendet

Abfrage1:

select * from table1 join ,...,join TabelleN

Ergebnis: wurde ausgeführt... N Datensätze zurückgegeben

Benutzer versucht nun, eine weitere Abfrage auszuführen, indem er die Verbindung xxx.xxx.xxx.xx2 verwendet

Abfrage2:

select * from table1 join , ... , join TabelleN

Ergebnis: nicht ausgeführt... Kann nicht mehr als eine Abfrage gleichzeitig ausgeführt werden.

7voto

Remus Rusanu Punkte 280155

Sie können beliebige Zugriffsrichtlinien erstellen, die Sie möchten, indem Sie Anmelde-Trigger verwenden:

Sie können Anmelde-Trigger verwenden, um Server-Sitzungen zu überwachen und zu kontrollieren, beispielsweise durch Nachverfolgen von Anmeldeaktivitäten, Einschränken von Anmeldungen bei SQL Server oder Begrenzen der Anzahl von Sitzungen für einen bestimmten Login.

Sehen Sie sich den Link für ein Beispiel an. Wenn Sie einen Benutzer nur auf eine Verbindung gleichzeitig beschränken, haben Sie effektiv den Benutzer auf nur eine Abfrage gleichzeitig beschränkt, da eine Verbindung praktisch nur eine Abfrage ausführen kann (ohne auf Details zu MARS einzugehen).

Ein damit zusammenhängendes Konzept, das Sie kennen müssen, ist der Resource Governor, der es Ihnen ermöglicht, die Ressourcen, die ein Benutzer verbrauchen kann, zu begrenzen, indem Sie Benutzersitzungen spezifischen Workloads zuweisen und die Ressourcenzuweisung für den Workload begrenzen. Auch hier finden Sie Details und Beispiele unter dem Link.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X